centos7下修改docker工作目录


1.背景

1.1应用背景

工作中为了便于云服务器内存空间以及相关数据的管理,常常会规定只能将数据放置在指定目录下,由于需要使用docker部署应用,而docker工作目录不在指定目录下,所以需要先修改docker工作目录至指定目录,再进行后续应用部署操作,于是写下这篇文章进行记录。

1.2应用环境

docker安装时如果不指定home目录(也就是工作目录),一般默认工作目录是 /var/lib/docker ,很多时候需要修改到大容量磁盘上进行存储,这里记录一下修改默认路径为 /mydata/wwwroot/docker 。

网上搜罗一番,两种方法:

①添加并配置 /etc/docker/daemon.json 文件

②修改systemd管理的docker服务文件 /usr/lib/systemd/system/docker.service

测试环境

容器运行时版本安装方式
docker-ce18.09.5yum

2.操作步骤

前提:查看当前docker运行的工作目录

docker info |grep "Docker Root Dir"

2.1方法①

2.1.1.新建或者编辑 /etc/docker/daemon.json

{
    "data-root": "/mydata/wwwroot/docker"
}

2.1.2.重启docker

systemctl restart docker

2.2方法②

2.2.1.编辑文件 /usr/lib/systemd/system/docker.service

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/mydata/wwwroot/docker
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2……

2.2.2. 重启docker

systemctl daemon-reload 

 systemctl restart docker

注意:目前网上大多数配置参数是 --graph ,其实这是老版本中的使用方法,新版本已经抛弃,改用了 --data-root ,具体可以通过命令 dockerd --help 查看使用的参数。

3.参考链接

参考1:https://www.cnblogs.com/ding2016/p/10884128.html

参考2:https://stackoverflow.com/questions/36014554/how-to-change-the-default-location-for-docker-create-volume-command

参考3:https://github.com/moby/moby/pull/28696

最后修改:2020 年 12 月 31 日
如果觉得我的文章对你有用,请随意赞赏