docker目录/var/lib/docker/磁盘满了,更换默认目录

1、停止docker服务。

systemctl stop docker; //每个liunx版本的命令不一样。

2.迁移 /var/lib/docker 目录。
2.1 创建新的docker目录,执行命令df -h,找一个大的磁盘。 我在 /data 目录下面建了 /data/docker/lib/docker目录,执行的命令是:

mkdir -p /data/docker/lib/docker

2.2 迁移/var/lib/docker目录下面的文件到 /data/docker/lib/docker:

rsync -avz /var/lib/docker /data/docker/lib/    #和cp类似,只不过是会自动过滤,目标目录有的文件不会重新拷贝

2.3:官方文档的修改办法是编辑 /etc/docker/daemon.json 文件:

vi /etc/docker/daemon.json 
默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容:
{
  "data-root": "/data/docker/lib/docker"
}
此文件还涉及默认源的设定,如果设定了国内源,那么实际就是在源地址下方加一行,写成:
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "data-root": "/data/docker/lib/docker"
}

2.4:重新加载 docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

2.5检查

# docker info
Docker Root Dir: /data/docker/lib/docker

2.6启动成功后,再确认之前的镜像还在:

docker ps -a
docker images

2.7 确定容器没问题后删除/var/lib/docker/目录中的文件。

你可能感兴趣的:(docker目录/var/lib/docker/磁盘满了,更换默认目录)