Как изменить путь хранения данных по умолчанию в Docker

Containers 22-06-2023, 17:00 sobir 1 498 0


По умолчанию Docker хранит данные в директории /var/lib/docker. В этом руководстве мы рассмотрим, как изменить путь хранения данных в Docker.

Для этого выполните следующие шаги:

1. Сначала остановите службу Docker с помощью команды:
systemctl stop docker

2. Проверьте статус остановленной службы Docker:
systemctl status docker

3. Скопируйте данные в новую директорию, например, /data, с помощью команды rsync:
rsync -av /var/lib/docker /data/

4. Переименуйте исходную директорию Docker:
mv /var/lib/docker /var/lib/docker.bak

5. Откройте файл настроек службы Docker для внесения изменений:
vi /lib/systemd/system/docker.service

В этом файле найдите секцию [Service] и обновите строку ExecStart, добавив параметр --data-root /data/docker, чтобы указать новый путь к данным:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service time-set.target
Wants=network-online.target containerd.service
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --data-root /data/docker -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

# kill only the docker process, not all processes in the cgroup
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target

6. Перечитайте конфигурацию systemd и запустите службу Docker:
systemctl daemon-reload
systemctl start docker
systemctl status docker

7. Чтобы проверить изменения, запустите контейнер и проверьте его путь хранения:
docker run hello-world
docker ps -a
docker inspect CONTAINER_ID | grep -i workdir

Теперь данные Docker будут храниться в новой директории /data/docker.
Похожие новости
Разворачиваем LEMP-стэк на контейнерах Docker

Контейнеризируем сервисы LEMP с помощью docker-compose....

Подробнее
How to deploy Zimbra Mail server with Docker and Compose

Quick setup Zimbra Mail server with Docker and Compose....

Подробнее
Как назначить конкретную подсеть контейнерам Docker

Создание выделенной сети контейнерам Docker....

Подробнее
How to install Docker and Compose on AlmaLinux

Quick setup docker and docker-compose with a simple bash script....

Подробнее
Разворачиваем NGINX в Docker

Создание кастомного образа nginx из Dockerfile....

Подробнее
Настройка частного реестра Docker Private Registry

Создаем свой репозиторий образов контейнеров Docker....

Подробнее
Комментарии (0)
Новые комментарии
komronu8 сентября 2022 18:23

Салом, можно ещё создать файл в /etc/nginx/proxy_params, a потом добавить туда

img
К комментарию
sobir26 августа 2022 10:43

Можно ещё так: 1. Создаем отдельную сеть для наших контейнеров docker network

img
К комментарию
komronu22 августа 2022 15:12

Спасибо за отзыв, написал отдельную статью по установке и настройке Ansible

img
К комментарию
sobir19 августа 2022 18:00

Думаю в статье необходимо также описать процесс установки Ansible.

img
К комментарию
sobir17 октября 2021 11:40

Принудительное обновление сертификата: certbot certonly --force-renew -d

img
К комментарию
sobir3 июля 2021 14:19

Можно, но я решил описать процесс копирования ключей более подробно.

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031 
Подпишись на канал