修改docker镜像和容器存储的路径

docker运行过程出现报错:

journalctl -xe
kernel: loop: Write error at byte offset 2893127680, length 4096.
# 查看磁盘空间:
df -TH
#发现/var/lib/docker/XXX目录磁盘空间已满

CentOS 7 默认安装的docker-ce-18.09.0-3.el7.x86_64.rpm,默认的存储目录为/var/lib/docker,空间不足需要重新调整docker镜像和容器存储路径。

方法一:

直接更改启动命令:

$ systemctl stop docker
$ mv /var/lib/docker /data/  #将原数据移到/data
$ cp /usr/lib/systemd/system/docker.service{,.org}
$ vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=overlay

# –graph=/data/docker:  docker新的存储位置
# –storage-driver=overlay : 当前docker所使用的存储驱动

# 重启docker生效
$ systemctl restart docker
$ ps -ef | grep docker

方法二(推荐这个方法):

将原数据移到新磁盘,再软链接到/var/lib/docker

$ systemctl stop docker
$ mv /var/lib/docker /data/  #将原数据移到/data
$ ln -s /data/docker /var/lib/docker
$ ll /var/lib/docker
$ systemctl restart docker
$ ps -ef | grep docker

你可能感兴趣的:(docker,docker)