默认情况下,docker镜像的默认存储路径是/var/lib/docker,这相当于直接挂载系统目录下,而一般在搭系统时,这个区都不会太大,所以如果长期使用docker开发应用,就需要把默认的路径更改到需要路径下或外挂存储。
1、查看docker镜像的默认路径,找到Docker Root属性处
docker info
# Docker Root Dir: /var/lib/docker
2、为了解决这个问题, 计划将docker的默认存储路径从/var/lib/docker中移出去
方法: 先按照自己需求建立新的存储目录,我设置在/home/docker下面,先需要在/home下面新建docker目录
cd /home
mkdir docker
3、修改docker的systemd的docker.service的配置文件
不知道 配置文件在哪里可以使用systemd 命令显示一下
systemctl enable docker
#Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to #/usr/lib/systemd/system/docker.service.
4、关闭docker进程:
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
5、修改docker.service文件. 找到ExecStart属性行设置,后面加上--graph=/data/docker,⚠️别把后面(新增的)拷贝过去哦😯
vim /usr/lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (注释原先的)
ExecStart=/usr/bin/dockerd -g /home/docker -H fd:// --containerd=/run/containerd/containerd.sock
6、将老的存储目录数据拷贝到新的下面:
cp -r /var/lib/docker/* /home/docker
或者:
sudo rsync -aqxP /var/lib/docker/ /home/docker
7、重新enable 一下docker 服务 重新进行软连接 以及进行一次 daemon-reload
systemctl daemon-reload
systemctl restart docker
8、 查看docker info 信息
# dokcer info
Docker Root Dir: /data/docker
如果此处设置还不成功的话,进行下面一步:
vim /etc/docker/daemon.json
在这里配置中添加:
{
“graph”: “/new/path/docker”
}
重复step6,重新启动docker。最终即可。