欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2023-11-14 13:36:58
我们通过 yum 的方式安装完Docker环境后,它默认的存储位置是 /var/lib/docker,默认的 pid 存放位置是 /var/run/docker.pid。 如果仅仅是做测试,我们可能没有必要修改,但是当大量使用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

有需要的朋友拿走不谢~