Docker использует стандартное место для хранения образов и данных контейнеров. Если пространство в стандартном месте закончилось или вы хотите хранить данные об образах и контейнерах на другом диске, вы можете следовать следующим шагам для изменения местоположения хранения образов и контейнеров:
- Проверьте текущее местоположение и остановите службу Docker
По умолчанию данные образов и контейнеров Docker хранятся в каталоге/var/lib/docker
. Чтобы убедиться в этом, выполните командуdocker info|grep "Docker Root Dir"
. Прежде чем изменять местоположение хранения, необходимо остановить службу Docker. В терминале введите следующую команду для остановки службы Docker:
|
|
- Создайте каталог для хранения данных Docker
Создайте каталог на новом диске для хранения данных Docker. Вы можете использовать командуmkdir
для создания каталога. Например, если вы хотите хранить данные Docker в каталоге/mnt/new_location
, введите следующую команду:
|
|
Эта команда создаст подкаталог с именем docker
в каталоге /mnt/new_location
. Вы можете изменить путь и название каталога по своему усмотрению.
- Скопируйте существующие данные Docker в новый каталог
Если вы хотите скопировать существующие данные Docker в новый каталог, используйте командуrsync
. Например, если текущие данные Docker хранятся в каталоге/var/lib/docker
, для копирования данных в новый каталог выполните следующую команду:
|
|
Эта команда скопирует все файлы и подкаталоги из каталога /var/lib/docker
в каталог /mnt/new_location/docker/
. Процесс может занять некоторое время в зависимости от объема данных и скорости диска.
- Измените конфигурационный файл Docker
Теперь вам нужно изменить конфигурационный файл Docker, чтобы он использовал новое местоположение хранения. Откройте файл/etc/docker/daemon.json
для редактирования и добавьте следующее содержимое:
|
|
Этот конфигурационный файл указывает Docker использовать каталог /mnt/new_location/docker
в качестве нового места хранения.
- Перезапустите службу Docker
Наконец, перезапустите службу Docker, чтобы изменения вступили в силу. В терминале введите следующую команду для перезапуска службы Docker:
|
|
Затем выполните команду docker info|grep "Docker Root Dir"
, чтобы проверить, изменилось ли местоположение хранения.
Теперь Docker будет использовать новое местоположение для хранения образов и данных контейнеров. Если вы хотите вернуть данные Docker на стандартное место, просто измените параметр data-root
в файле daemon.json
на /var/lib/docker
.