Bootstrap

修改docker默认存储路径

        默认情况下,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。最终即可。

;