24

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

我们想移动图像。

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

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

4

4 回答 4

28

要将图像移动到另一个驱动器或另一个服务器:

docker save image_name > image_name.tar

mv image_name.tar /somewhere/else/

将其加载回 docker

docker load < image_name.tar 

参考

于 2014-02-07T16:31:21.520 回答
15

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

于 2014-01-31T19:34:01.987 回答
13

这是移动 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.

于 2016-12-01T20:38:01.080 回答
4

使用@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% 有效——我所有的图像都保持完好。

于 2015-07-22T08:44:58.027 回答