写点什么

修改 Docker 数据根目录的 3 种方式

用户头像
FeiLong
关注
发布于: 2020 年 07 月 21 日
修改 Docker 数据根目录的 3 种方式

需求



Docker 的镜像以及运行时产生的数据会占据大量的磁盘空间,因此有必要将此目录转移至大容量磁盘。



环境信息



# 系统版本
cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
# docker 版本
docker -v
Docker version 19.03.12, build 48a66213fe



实现



方式一:自定义配置(推荐)



There are a number of ways to configure the daemon flags and environment variables for your Docker daemon. The recommended way is to use the platform-independent daemon.json file, which is located in /etc/docker/ on Linux by default.

推荐使用 /etc/docker/daemon.json 自定义配置。



操作过程



# 关闭 docker
systemctl stop docker
systemctl status docker
# 移动文件
mv /var/lib/docker /data
# 新增文件 /etc/docker/daemon.json,默认不存在
cat /etc/docker/daemon.json
{
"data-root": "/data/docker"
}
# 重启 docker,start 无效
systemctl restart docker
# 查看镜像是否仍存在
docker images



方式二:软链接



Docker supports softlinks for the Docker data directory (/var/lib/docker) and for /var/lib/docker/tmp.

Docker 的数据目录支持软链接。



操作过程



# 查看 docker 数据目录大小
du -sh /var/lib/docker
8.9G /var/lib/docker
# 关闭 docker
systemctl stop docker
systemctl status docker
# 移动文件
mv /var/lib/docker /data
# 创建软链接
ln -s /data/docker /var/lib/
# 启动 docker
systemctl start docker
# 查看镜像是否仍存在
docker images
# 查看 docker 数据目录大小
du -sh /var/lib/docker
0 /var/lib/docker
du -sh /var/lib/docker/
12G /var/lib/docker/
du -sh /data/docker/
12G /data/docker/



方式三:修改启动参数(不推荐)



--data-root string Root directory of persistent Docker state (default "/var/lib/docker")

--data-root string Docker 状态持久化的根目录(默认“/var/lib/docker”)



操作过程



# 查看 docker 数据目录大小
du -sh /var/lib/docker
4.8G /var/lib/docker
# 关闭 docker
systemctl stop docker
systemctl status docker
# 移动文件
mv /var/lib/docker /data
# 增加参数 --data-root /data/docker
vim /etc/systemd/system/docker.service
ExecStart=/usr/bin/dockerd \
--data-root /data/docker \
$DOCKER_OPTS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$DOCKER_DNS_OPTIONS \
$INSECURE_REGISTRY
# reload
systemctl daemon-reload
# 启动 docker
systemctl start docker
# 查看镜像是否仍存在
docker images



参考



  • https://docs.docker.com/engine/reference/commandline/dockerd/

  • https://docs.docker.com/config/daemon/systemd/



发布于: 2020 年 07 月 21 日阅读数: 163
用户头像

FeiLong

关注

还未添加个人签名 2018.09.17 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
慎重操作,血的教训,镜像全部没了
2020 年 12 月 08 日 16:38
回复
没有更多了
修改 Docker 数据根目录的 3 种方式