Ответ 1
Для перемещения изображений на другой диск или другой сервер.
docker save image_name > image_name.tar
mv image_name.tar/где-то/еще/
Загрузите его обратно в докер
Докерная нагрузка < image_name.tar
Мы заметили, что наши контейнеры занимают много места, одна из причин этого - изображения.
Мы хотели бы переместить изображения.
Я знаю, что сейчас они хранятся в
/var/lib/docker/graph/<id>/layer
Есть ли способ переместить их в другое место/постоянный диск?
Для перемещения изображений на другой диск или другой сервер.
docker save image_name > image_name.tar
mv image_name.tar/где-то/еще/
Загрузите его обратно в докер
Докерная нагрузка < image_name.tar
Вы всегда можете монтировать /var/lib/docker на другой диск. В противном случае вы можете запустить демон с помощью -g /path
, чтобы сообщить docker использовать другой каталог для хранения.
Здесь любой простой способ перемещения данных докеров:
sudo service docker stop
sudo mv /var/lib/docker /a/new/location
sudo ln -s /a/new/location /var/lib/docker # Create a symbolic link
sudo service docker start
Не нужно менять DOCKER_OPTS
или использовать -g /path
.
Используя ответ @creack, я выполнил следующее в моей установке Ubuntu, чтобы переместить всю папку docker images/контейнеров в новое место/диск. Самое замечательное в том, что все новые изображения, которые я устанавливаю, будут использовать новое расположение диска.
Сначала остановите службу докеров:
sudo service docker stop
Затем переместите папку докеров по умолчанию в целевое местоположение:
sudo mv /var/lib/docker /thenewlocation
Затем отредактируйте файл /etc/default/docker
, вставив/изменив следующую строку, которая предоставляет новое местоположение в качестве аргумента для службы docker:
DOCKER_OPTS="-g /thenewlocation/docker"
Перезапустите службу докеров:
sudo service docker start
Это работало на 100% для меня - все мои изображения остались в такте.