[toc]
修改docker镜像、容器默认存放位置
背景说明
因为Docker默认是存放在系统盘中 /var/lib/docker 的,当用的时间比较久后,产生的镜像及容器越来越多之后,可能会导致你的系统盘满了,这时我们需要将Docker的镜像及容器指向另外一个路径
默认路径
默认存放于 /var/lib/docker
$ cd /var/lib/docker
$ ls
builder buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
编辑配置文件 /etc/docker/daemon.json
加入以下一行
"data-root": "/data/docker"
新建目录
mkdir -p /data/docker
查看修改后的配置文件
$ cat /etc/docker/daemon.json
{
"graph": "/data/docker"
}
重启docker
systemctl restart docker
拷贝原镜像和容器到新目录
修改完后,原先的镜像和容器查看不存在
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
拷贝原镜像和容器到新目录
\cp -rp /var/lib/docker/* /data/docker/
重启docker
systemctl restart docker
查看修改
$ docker info|grep Docker
Docker Root Dir: /data/docker
查看镜像和容器,已恢复
查看镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jumpserver/jms_all 1.4.8 e9274ba449e8 3 months ago 1.31GB
查看容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2789b0d4a200 jumpserver/jms_all:1.4.8 "entrypoint.sh" About an hour ago Up 49 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:2222->2222/tcp jms_all
测试镜像和容器都无问题后可以删除目录 /var/lib/docker
rm -rf /var/lib/docker

