我们注意到我们的容器占用了大量空间,其中一个原因是图像。
我们想移动图像。
我现在知道它们存储在
/var/lib/docker/graph/<id>/layer
有没有办法将这些移动到另一个位置/永久磁盘?
我们注意到我们的容器占用了大量空间,其中一个原因是图像。
我们想移动图像。
我现在知道它们存储在
/var/lib/docker/graph/<id>/layer
有没有办法将这些移动到另一个位置/永久磁盘?
要将图像移动到另一个驱动器或另一个服务器:
docker save image_name > image_name.tar
mv image_name.tar /somewhere/else/
将其加载回 docker
docker load < image_name.tar
参考。
您始终可以将 /var/lib/docker 挂载到不同的磁盘。否则,您可以启动守护程序-g /path
以告诉 docker 使用不同的目录进行存储。
这是移动 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/containers 文件夹移动到新位置/磁盘。这样做的好处是我安装的任何新映像都将使用新的磁盘位置。
首先停止 docker 服务:
sudo service docker stop
然后将 docker 文件夹从默认位置移动到目标位置:
sudo mv /var/lib/docker /thenewlocation
然后编辑该/etc/default/docker
文件,插入/修改以下行,该行提供新位置作为 docker 服务的参数:
DOCKER_OPTS="-g /thenewlocation/docker"
重启docker服务:
sudo service docker start
这对我来说 100% 有效——我所有的图像都保持完好。