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

Containers 22-06-2023, 17:00 sobir 4 182 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)
Новые комментарии
sobir8 ноября 2024 12:42

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet7 ноября 2024 03:26

Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные статьи что находил

img
К комментарию
sobir27 октября 2024 19:02

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Можт быть дело в

img
К комментарию
FidoNet25 октября 2024 22:04

Цитата: sobir Цитата: FidoNet Можт быть дело в dnsmasq.service? Ошибка Failed

img
К комментарию
sobir25 октября 2024 16:48

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet20 октября 2024 12:12

Можт быть дело в dnsmasq.service? Ошибка Failed to set DNS configuration: Unit

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Декабрь 2024    »
ПнВтСрЧтПтСбВс
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
Подпишись на канал