我们的DevOps平台目前发布了V 2.4.0版,用户已经超过了200人,随着用户的增多和托管项目的增多,原来运行DevOps平台的虚拟机也经常报空间不足,虽然主环境已经开始迁移Kubernets环境,但原来的环境因为部分用户的使用要求老的环境仍然在使用下面记录了在遇到Docker空间不足时经常采用的办法,我来为大家科普一下关于docker 本地磁盘?以下内容希望对你有帮助!
docker 本地磁盘
我们的DevOps平台目前发布了V 2.4.0版,用户已经超过了200人,随着用户的增多和托管项目的增多,原来运行DevOps平台的虚拟机也经常报空间不足,虽然主环境已经开始迁移Kubernets环境,但原来的环境因为部分用户的使用要求老的环境仍然在使用。下面记录了在遇到Docker空间不足时经常采用的办法。
导入docker镜像时,错误提示:磁盘空间不足。1.查看docker镜像存放目录空间大小
du -hs /var/lib/docker/
2.停止docker服务。
systemctl stop docker
3.查看磁盘容量大的空间,且在上面创建新的docker目录。
df -h
mkdir -p /data/docker/lib
4.迁移/var/lib/docker目录下的文件到新创建的目录/data/docker/lib
rsync -avz /var/lib/docker /data/docker/lib/
5.编辑 /etc/docker/daemon.json 添加如下参数
{
"graph": "/data/docker/lib/docker"
}
6.重新加载docker,并重启docker服务。
systemctl daemon-reload && systemctl restart docker
7.检查docker是否变更为新目录/data/docker/lib/docker
[root@localhost ~]# docker info
...
Docker Root Dir: /data/docker/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
...
8.删掉docker旧目录
rm -rf /var/lib/docker
docker system df 类似于Linux上的df命令,用于查看Docker的磁盘使用情况:
docker system prune 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
docker system prune -a 清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker
,