# 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-ce | 18.09.5 | yum | ## 2.操作步骤 **前提**:查看当前docker运行的工作目录 ```shell docker info |grep "Docker Root Dir" ``` ### 2.1方法① **2.1.1.新建或者编辑** `/etc/docker/daemon.json` ```shell { "data-root": "/mydata/wwwroot/docker" } ``` **2.1.2.重启docker** ```shell systemctl restart docker ``` ### 2.2方法② **2.2.1.编辑文件** `/usr/lib/systemd/system/docker.service` ```she [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** ```shel systemctl daemon-reload systemctl restart docker ``` **注意**:目前网上大多数配置参数是 --graph ,其实这是老版本中的使用方法,新版本已经抛弃,改用了 --data-root ,具体可以通过命令 dockerd --help 查看使用的参数。 ## 3.参考链接 参考1:[https://www.cnblogs.com/ding2016/p/10884128.html](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](https://stackoverflow.com/questions/36014554/how-to-change-the-default-location-for-docker-create-volume-command) 参考3:[https://github.com/moby/moby/pull/28696](https://github.com/moby/moby/pull/28696) 最后修改:2020 年 12 月 31 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏
2 条评论
理论深度可再挖掘,以提升文章厚重感。
看到你的网站,觉得很不错,希望能与你互相友情链接…
我的网站:建站知道网-http://wozhidaole.com.cn/
如果同意的话,回复后互相上链接!