一、问题描述
根据阿里云给docker配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://gt6j98xi.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
重启docker
查看镜像和容器,发现全没了,顿时慌了!
但发现磁盘空间没变化,估计是没显示出来.
二、原因分析
docker的容器、镜像、以及管理配置都是默认存放在/var/lib/docker路径下,查看为空。
后面加载磁盘大小,发现了一个目录占用磁盘空间很大
docker_root路径后
结构和/var/lib/docker非常相似 怀疑是不是docker有个默认加载路径。
后来发现在/etc/docker/daemon.json中可以配置镜像源还可以配置docker默认加载路径,不填就是默认/var/lib/docker(这个路径对于我的服务器而言为空,于是需要改到新的路径/root/docker_root)
三、问题解决
更改docker加载容器和镜像及文件的路径
先关闭docker
systemctl stop docker
方法一:
直接在/etc/docker/daemon.json配置加载的路经(推荐):
{
"registry-mirrors": ["https://your-mirror-url"],
"data-root": "/root/docker_root"
}
此时配置了docker默认加载路径和镜像加速器
方法二:
符号链接挂载:将默认路径(/var/lib/docker)挂载到新路径(/root/docker_root)
这样访问/var/lib/docker就直接转移到访问/root/docker_root
sudo ln -s /root/dook_root /var/lib/docker
开启docker
systemctl start docker
至此,容器镜像恢复!