【简记】修改Docker数据目录位置,包含镜像位置
为啥要改?
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文件方式,没有作用。
验证
验证一:
查看 docker info
验证二:
查看之前/
的容量
拉个镜像,如mysql:5.7
再查看/
容量
相比上边的,镜像位置已经修改完毕。
enjoy.
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/docker-change-data-root.html
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
分类:
Docker
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步