docker的镜像默认存储路径是/var/lib/docker/,大部分这个路径的挂载卷都比较小,通常50g,一旦服务器上镜像比较多的时候,就会导致docker空间不足无法使用,故需要修改docker的默认路径大小。
使用命令df -lh查看系统挂载卷大小。
[root@master docker]# df -lh
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 62G 0 62G 0% /dev
tmpfs 62G 0 62G 0% /dev/shm
tmpfs 62G 139M 62G 1% /run
tmpfs 62G 0 62G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 8.8G 42G 18% /
/dev/sda1 1014M 193M 822M 19% /boot
/dev/mapper/centos-home 442G 8.2G 433G 2% /home
可以发现/home下容量最大,故我们选择将默认路径更改到/home下。
1.在/home下创建文件夹dockerdata,在home下执行:
[root@master home]# mkdir dockerdata
2.然后就docker默认路径的顺序复制到dockerdata下,这里复制的时候必须加上-p,否则会出现很大的坑,导致其他应用怎么都无法使用,比如harbor。
[root@master dockerdata]# cp -p -r /var/lib/docker /home/dockerdata/
3.进入到dockerdata目录下会发现已经有一个docker目录,在这个docker目录下存在着所有的docker镜像。
4.在/etc/docker目录下创建daemon.json文件,如果有了就不用再创建,添加如下内容:
{
"graph" : "/home/dockerdata/docker"
}
5.重新加载docker即可
[root@master docker]# systemctl daemon-reload
[root@master docker]# systemctl restart docker
6.执行docker info查看docker目录已经更改,并且所有应用不需要再次启动,完美。
Docker Root Dir: /home/dockerdata/docker