Docker安装后默认下载的位置在/var/lib/docker ,如果/var分区没有独立分出来,Linux下默认是与/根分区在一起,多拉取几个Docker镜像后就吧根分区占用满了,导致系统出现未知异常,拉取新的镜像也提示空间不足,应该怎么把默认安装下载位置改到更大的磁盘分区目录下呢?简单写个教程记录下如何修改(以免下次自己忘记了),同时也给需要同学提供一丢丢帮助吧!!

如何查看当前Docker存储目录位置
docker info
在输出的信息中到信息找到Docker Root Dir 如下图就是Docker默认的安装位置

暴力修改方法
找到docker.service 进程服务使用如下命令搜索服务进程
find / -name docker.service

编辑服务配置
$ vi /usr/lib/systemd/system/docker.service
找到ExecStart部分,在此行末尾添加--graph=你的目录,例如/home/docker
--graph=/path/to/path可以替换成-g /path/to/path 效果等同
[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/docker

#保存退出,接着让systemd重新读取下这些service等的配置
systemctl daemon-reload
重启docker服务
systemctl restart docker
修改Dcoker配置文件
创建docker目录
$ mkdir -p /etc/docker
编辑/etc/docker/daemon.json配置文件
$ vi /etc/docker/daemon.json
添加如下内容
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"data-root": "/home/docker"
}注释说明:
registry-mirrors": ["http://hub-mirror.c.163.com"] 为配置163镜像加速器
data-root 指定Docker存放目录
保存后接着重启Docker服务
systemctl restart docker
以上两种办法二选一,两者不能同时存在
验证是否更改成功
输入如下命令查看
docker info
在输出的信息中到信息找到Docker Root Dir 如下图就是Docker的安装位置


