为啥要改?
Docker安装后默认下载的位置在/var/lib/docker ,如果/var分区没有独立分出来,Linux下默认是与/根分区在一起。一般我们装Linux系统的时候,除了做邮件服务器外,都不会把/var分区独立分出来,而且/分区一般不会太大,比如我现在用的这台根分区50G的,在拉镜像的时候提示硬盘空间不足的问题,而其它分区还有很大空间。基于此情此景,我们都要把这个目录改一下
查看当前Docker目录位置
#展示当前docker的配置信息
docker info
-------------------------------------------------------------------
#在信息找到Docker Root Dir,对应的就是了,默认为:
Docker Root Dir: /var/lib/docker
几种改法
注意以下几种方式是互斥的,我折腾了一会,才发现,如你已经注意到,那此坑已平。
1、最简单也是最暴力的方式——修改 /etc/systemd/system/multi-user.target.wants/docker.service
sudo vim /etc/systemd/system/multi-user.target.wants/docker.service
-------------------------------------------------------------------
#找到ExecStart部分,在此行末尾添加--graph=你的目录,我的如下
[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
--graph=/home/hellxz/docker-home
-------------------------------------------------------------------
#保存退出,接着让systemd重新读取下这些service等的配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
--graph=/path/to/path可以替换成-g /path/to/path 效果等同
2、官方文档中的方式,修改 /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"data-root": "/home/hellxz/docker-home"
}
保存退出,重启docker服务
sudo systemctl restart docker
主要是用data-root来修改docker的工作目录
另外要提到的一点是,我尝试了drop-in文件方式,没有作用。
2 条评论
你的文章充满了创意,真是让人惊喜。http://www.wangcheng2008.com
您好,博主
可以投稿服务器或者scdn文章内容吗?
这边可以赞助高防scdn【国内外均可】【一年起】
并且会给您一个心意红包
国内正规持证公司
联合计划介绍:https://www.tsyvps.com/bbs/?p=158
如果不方便发您的联系方式
以下是我的联系方式!
我的QQ是:2814841448