如何将Docker容器的映像移动到永久磁盘?
我们注意到我们的容器占用了很多空间,其中一个原因就是图像。
我们想要移动图像。
我现在知道它们存储在/var/lib/docker/graph/<id>/layer
有没有办法将这些移动到另一个位置/持久磁盘?
将图像移动到另一个驱动器或另一个服务器
docker保存image_name> image_name.tar
mv image_name.tar / somewhere / else /
将它重新加载到docker中
docker加载<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服务:
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% – 我所有的图像都保持完整。
- 如何公开Windows Server的远程API Docker
- pkgProblemResolver ::解决生成的rest,这可能是由持有的包引起的
- 部署在docketed容器中后,http://0.0.0.0:8080上没有显示Mule项目
- 如何从一个容器formsdocker堆栈访问主机networking?
- Docker是否包含Heardbleed漏洞?
- docker-compose up给出错误UnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xe2:序号不在范围内(128)
- 我可以使用Docker-Compose创build没有容器的networking
- docker代理,解决DNS超时
- 从数据streamDocker GO SDK解码JSON