Docker 相关容器迁移
1.docker 容器镜像将磁盘占满,导致启动容器失败或者拉取新镜像失败应用起不来。
解决方案:
注意:执行此方案会将所有启动的docker容器干掉,请在修改后自行重启
1.找出docker 默认存储路径,可执行如下命令查看
docker info |grep ‘Docker Root Dir’
2.关掉所有正在运行的容器
docker stop $(docker ps -q -f status=running)
3.关闭docker服务
systemctl stop docker
4.将Docker现目录挪到一个新目录下,假设原路径为:/var/lib/docker ,新路劲为 :/new/dir/docker
cp -rf /var/lib/docker /new/dir/docker
5.修改docker 配置,新增(修改) data-root 配置项(如下第一个配置项),指向新地址
vi /etc/docker/daemon.json
{
"data-root": "/new/dir/docker",
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "3m",
"max-file": "10"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"],
"insecure-registries":["XXX:6000"]
}
6.重启docker
systemctl start docker
执行完毕后自行重启docker 容器,并观察是否正常。
7.如果出现以外情况,回滚时只需要将 /etc/docker/daemon.json 文件中的 data-root 配置项还原即可。