docker 设置新的目录

2 阅读1分钟

查看docker数据目录, Root Dir 表示数据目录 /var/lib/docker

$docker info | grep Root
 Docker Root Dir: /var/lib/docker

停止 docker

sudo systemctl stop docker

添加 daemon.json 到目录 /etc/docker 下,json 内容如下,data-root 表示 docker 数据目录设置到 /docker,用于保存 docker images 和 container 数据

$cat /etc/docker/daemon.json
{
    "data-root": "/docker",
    "live-restore": true,
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com"
    ],
    "storage-driver": "overlay2"
}

重启 docker

sudo systemctl start docker

查看新数据数据目录, Root Dir 为新目录 /docker

$docker info | grep Root
 Docker Root Dir: /docker

此时新目录下镜像为空

docker imags

docker 如有历史数据可迁移到新目录, docker 默认数据在 /var/lib/docker下, 停止 docker

sudo systemctl stop docker

使用 rsync 同步镜像到新目录,

sudo rsync -av  /var/lib/docker /docker

重启 docker

sudo systemctl start docker

再次docker images 查询后就能看到原来镜像和容器了,如新能容器功能正常就可以了

确认无误后再删除 /var/lib/docker