如何将docker容器的映像移动到永久磁盘?

dva*_*ini 21 persistent-storage lxc docker linux-containers

我们注意到我们的容器占用了大量空间,其中一个原因就是图像.

我们想移动图像.

我现在知道它们存放在 /var/lib/docker/graph/<id>/layer

有没有办法将这些移动到另一个位置/永久磁盘?

Ken*_* A. 26

将图像移动到另一个驱动器或其他服务器..

docker save image_name> image_name.tar

mv image_name.tar/somewhere/else /

将其装回docker

docker load <image_name.tar


cre*_*ack 14

您始终可以将/ var/lib/docker挂载到其他磁盘.否则,您可以启动守护程序,-g /path以告知docker使用不同的目录进行存储.


ctr*_*usb 5

使用@creack 的答案,我在 Ubuntu 安装中执行了以下操作,将整个 docker images/containers 文件夹移动到新位置/磁盘。这样做的好处是,我安装的任何新映像都将使用新的磁盘位置。

首先停止docker服务:

sudo service docker stop
Run Code Online (Sandbox Code Playgroud)

然后将 docker 文件夹从默认位置移动到目标位置:

sudo mv /var/lib/docker /thenewlocation
Run Code Online (Sandbox Code Playgroud)

然后编辑该/etc/default/docker文件,插入/修改以下行,该行提供新位置作为 docker 服务的参数:

DOCKER_OPTS="-g /thenewlocation/docker"
Run Code Online (Sandbox Code Playgroud)

重启docker服务:

sudo service docker start
Run Code Online (Sandbox Code Playgroud)

这对我来说 100% 有效——我所有的图像都完好无损。


jco*_*and 5

这是移动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
Run Code Online (Sandbox Code Playgroud)

无需更改DOCKER_OPTS或使用-g /path