1.停止docker服务
systemctl stop docker
2.创建新的docker目录,执行命令df -h,找一个大的磁盘
如在 /opt目录下面建了/opt/docker/lib目录
mkdir -p /opt/docker/lib
3.迁移/var/lib/docker目录下面的文件到/opt/docker/lib
迁移后的完成docker路径:/opt/lib/docker
cp -r /var/lib/docker/ /opt/docker/lib/
目录授权
chmod -R 777 /opt/docker/lib
4.配置 /etc/systemd/system/docker.service.d/devicemapper.conf
查看/etc/systemd/system/docker.service.d目录及devicemapper.conf是否存在。如果不存在,就新建
mkdir -p /etc/systemd/system/docker.service.d/
vi /etc/systemd/system/docker.service.d/devicemapper.conf
devicemapper.conf添加如下内容:
[Service] Type=notify NotifyAccess=main EnvironmentFile=-/run/containers/registries.conf EnvironmentFile=-/etc/sysconfig/docker EnvironmentFile=-/etc/sysconfig/docker-storage EnvironmentFile=-/etc/sysconfig/docker-network Environment=GOTRACEBACK=crash Environment=DOCKER_HTTP_HOST_COMPAT=1 Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json --graph=/opt/docker/lib $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity TimeoutStartSec=0 Restart=on-abnormal KillMode=process
5. 重启docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
6.确认Docker Root Dir修改是否已经生效
[root@iZbp1jcwx7sfb1yrnvpg84Z docker]# docker info
...
Docker Root Dir: /opt/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
7.如果启动容器失败可以查看容器日志
docker logs -f 容器id/容器name