docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)相关的知识,希望对你有一定的参考价值。

原文:docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)

docker info :查看docker的存储等相关信息。

将路径修改至挂载磁盘中

前提:磁盘已挂载成功

方法一:

1、停止docker 服务

service docker stop

2、备份数据到新的存放路径

cp -r /var/lib/docker/* /mnt/docker

3、备份 /var/lib/docker 路径

mv /var/lib/docker  /var/lib/dockerbak}

4、创建软连接

ln -s /mnt/docker /var/lib/docker

5、启动docker

service docker start

如果docker完整,并可用,可删除原来的备份文件

此方法,启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。

 

方法二:

关闭docker

在 Ubuntu 中的位置是:/etc/default/docker,在 CentOS 中的位置是:/etc/sysconfig/docker

在OPTIONS加上下面那段代码: --graph=/local/docker  新的存储目录

OPTIONS=‘--selinux-enabled --log-driver=journald --signature-verification=false --graph=/local/docker --insecure-registry=0.0.0.0/0‘

重启docker后,docker info 就可以看到目录换了

 

方法三:(建议:装好docker后及时修改默认路径,不要等到应用级的镜像pull进来后再去修改默认存储路径,不然各种错误让你应接不暇,这点我深有体会)

最好是先关闭docker再进行操作

如果docker是1.12或以上的版本,可以修改(或新建)daemon.json文件。修改后会立即生效,不需重启docker服务。

vim /etc/docker/daemon.json 

{

"graph": "/new-path/docker"

}

注意:如果之前有镜像和对应的数据,执行完这一步,默认存储路径是改掉了,但是会导致之前的镜像找不到,可以把/var/lib/docker/目录下的所有文件  cp -R 到挂载有数据分区的目录下 即:cp -R /var/lib/docker/* /data/tootls/docker/

再测试下镜像是否能找到

以上是关于docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)的主要内容,如果未能解决你的问题,请参考以下文章

Linux修改docker镜像和容器数据存储位置

四个修改Docker默认存储位置的方法

Docker配置本地镜像与容器的存储位置

docker 修改默认存储位置

Docker镜像docker默认存放路径

docker配置文件路径