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/目录中的文件。