docker修改优化文件存储路径

docker修改日志文件等默认存储路径


默认 安装完成 docker 后,所有 images 、日志及相关信息存储位置为:/var/lib/docker。

一般情况下,/var 目录是在根分区之下,而根分区之下的磁盘空间一般不会较大,测试环境我们平时不怎么使用,空间容量一般会够用。但是在生产环境中,经常会因为这个原因导致磁盘空间不足,然后服务或者消息中间件之类的崩掉(我的jumpserver就因此down了)。

我曾经在生产环境遇到这个问题,我记得当时总结了三种方法:

  1. 清理/var/lib/docker目录下各个容器的日志和垃圾,进入var/lib/docker,是用rm -rf * or 选择性删除就看个人喜好了,但是有一点——治标不治本
  2. 扩充空间,挂载硬盘,把docker存储路径从 /var/lib/docker修改到挂载盘的路径下,治标不治本
  3. 在第一种和第二种的基础上,先清出部分可用的磁盘空间,然后修改docker的存储目录。执行
    1. find / -name ‘docker.service’,找出docker的配置文件。注意,docker在centos和ubuntu的配置文件路径是不同的,centos在/var下,ubuntu应该在/etc下。

    2. 在 /data 目录下创建 docker 目录,/data 为新添加的磁盘分区的挂载点
      mkdir /data/docker

    3. systemctl stop docker 停止docker
      vim /…/…/docker.service 上文查找的
      找到ExecStart=/usr/bin/dockerd这一行,在后面加上–graph=/data/dcoker这一句后保存退出,如下:
      ExecStart=/usr/bin/dockerd --graph=/data/dcoker

    4. 重启 docker 服务
      systemctl daemon-reload
      systemctl disable docker
      systemctl enable docker
      systemctl start docker

    5. 查看docker info信息

       ~]# docker info
      

      在这里插入图片描述
      如图所示,已经修改成功,存储目录变更为/data/docker。欧克了!

以上就是遇到docker存储问题的处理方法,但是还是有优化的空间,嘻嘻~可参考这个链接Docker 容器日志占用空间过大解决办法

上述方法,日志文件迟早又会涨回来。要从根本上解决问题,需要限制容器服务的日志大小上限。这个通过配置容器docker-compose的max-size选项来实现。

全局设置
编辑/etc/docker/daemon.json。不在这个目录下就差找下find / -name ‘daemon.json’添加 log-dirver和log-opts参数,样例如下

vim /etc/docker/daemon.json
{
“log-driver”:“json-file”,
“log-opts”: {“max-size”:“500m”, “max-file”:“3”}
}

max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。

// 重启docker守护进程:
systemctl daemon-reload
systemctl restart docker

注意:设置的日志大小,只对新建的容器有效。

当时遇到这个问题,解决后觉得有点意思,就记录下来,文章参考:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值