Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效相关的知识,希望对你有一定的参考价值。

原文:Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效

我们通过 yum 的方式安装完Docker环境后,它默认的存储位置是 /var/lib/docker,默认的 pid 存放位置是 /var/run/docker.pid。

如果仅仅是做测试,我们可能没有必要修改,但是当大量使用docker镜像的时候,我们可能就要默认存储的位置了。

具体操作方法如下:

1、停止docker:

service docker stop

2、修改docker服务的service文件:

vim /usr/lib/systemd/system/docker.service

3、找到 ExecStart=/usr/bin/dockerd 部分所在的行,大约在第14行,行尾增加参数,结果为:

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/data/docker  --pidflie=/data/docker/docker.pid
说明:--pidfile 参数,用来修改docker的pid文件默认存放位置,自行安排

4、保存service文件,移动原先的存储目录,重新启动docker服务:

systemctl daemon-reload  # 重新载入系统服务,必须执行!
mkdir -p /data
mv /var/lib/docker /data
service docker start

5、查看一下docer的当前运行信息:

docker info | grep "Docker Root Dir"

可以看到,docker的存储位置已经修改成功了。

PS:还有一种更省事的变更方式,就是先停止docker服务,再移动旧目录,然后新建一个软链接,不过,这没什么含量,不想像我这样折腾的,可以试一下:

systemctl stop docker
mv /var/lib/docker /data
ls -s /data/docker /var/lib/docker
service docker start

有需要的朋友拿走不谢~

 

以上是关于Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7修改Docker容器和镜像默认存储位置

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

CentOS7修改Docker容器和镜像默认存储位置

修改Docker默认镜像和容器的存储位置

CentOS7修改Docker容器和镜像默认存储位置

Docker 基本管理(镜像 容器)