在 CentOS 7 更改 Docker 默认镜像和容器的位置
Why?
通常,我们在使用 Docker 时不需要关心其镜像和容器保存的位置。但随着使用到的 Docker 镜像的增多以及构建的容器的增多,其所占用
的空间也会越来越多。因为 Docker 默认的存储位置为 /var/lib/docker
。
How?
本次操作实践是基于新安装的 Docker 进行的,所以已经存在的环境迁移暂不涉及。
以 Drop-In 文件形式操作
- 停掉 docker 服务
systemctl stop docker
- 创建 Drop-In 文件
mkdir /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/docker.conf
- 在新创建的 Drop-In 文件内输入以下内容
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd –data-root /new_root/new_position –storage-driver devicemapper
- 同步之前位置文件到新位置
rsync -avzP /var/lib/docker/* /new_root/new_position/
- 重载 daemon 守护进程并重启服务
systemctl daemon-reload
systemctl start docker
- 查看配置信息
docker info
查看 Docker Root Dir
是否为新设置的位置了
参考资料
- 在Centos7 更改Docker默认镜像和容器的位置
- Daemon CLI reference (dockerd) 注:内容和版本不符
- dockerd –help