解决docker数据文件过大导致根磁盘满的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决docker数据文件过大导致根磁盘满的问题相关的知识,希望对你有一定的参考价值。

背景:

    最近在线上使用的docker主机发现根目录容量快满了,一番查找,发现是docker的data文件过大了。     我们知道docker数据默认是存放在/var/lib/docker下的,我们可以在启动时用-g --graph=""参数,把数据目录更改到其他容量大的地方去。但是对于在使用中的docker来说,直接修改这个目录路径,会导致镜像和容器都丢失了,所以修改参数这个方法适用于初始化docker的时候使用。

   对于又想解决根分区容量满,又不想更改数据存储路径的我来说,我不想更改任何docker的参数和数据,所以我在自己的虚机机环境上尝试把这些数据迁移到容量较大的磁盘上去,再用链接的方式把数据链接到原来的位置,保证环境尽可能不变动。



操作:

  1:关闭docker容器和docker进程:

# /etc/init.d/docker stop

  2:迁移数据:(假设我要迁移到/mnt/docker)

# mv /var/lib/docker /mnt/

  3:制作目录链接

# ln -s /mnt/docker /var/lib/docker
#  cd /var/lib
# ll
lrwxrwxrwx  1 root    root      11 Apr 13 10:52 docker -> /mnt/docker

   4:启动docker和容器:

# /etc/init.d/docker start


该实验在我的环境中测试有效。应该没有什么大问题,如果有什么忽略的地方,请大家指正!

本文出自 “扮演上帝的小丑” 博客,转载请与作者联系!

以上是关于解决docker数据文件过大导致根磁盘满的问题的主要内容,如果未能解决你的问题,请参考以下文章

Docker镜像导致centos-root根分区容量爆满

docker项目磁盘满问题解决

技术分享 MySQL中MGR中SECONDARY节点磁盘满,导致mysqld进程被OOM Killed

spark 任务导致tmp目录过大

docker磁盘空间不足之数据迁移解决方案

一个NFS缓存管理包的bug导致文件系统满的问题和解决方法