Docker 目录/var/lib/docker/containers文件过大

Docker在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加。

1. 本机环境:

Docker version: 1.7.1
Linux version: Red Hat Enterprise Linux Server release 6.8 (Santiago)

由于linux和Docker版本原因,导致文中使用的命令可能与其它博客有些出入。

2. 查出占用磁盘较大的文件

Docker 的日志文件存在 /var/lib/docker/containers 目录中

[root@localhost containers]# du -D -h /var/lib/docker/containers | sort -h
24K     /var/lib/docker/containers/b164df2a545886cdff1f68d7f5a529ade3f281ab855df6c3c475f77b22a2013c
156K    /var/lib/docker/containers/d1c8566541d1a5379cdfd649fe00790bae764b6c9ce984939a291ac833df1ef7
376K    /var/lib/docker/containers/358a409d43aacb16935d373f4c55bbce0aec031cd3e04095c2bddb17d3c6d237
380K    /var/lib/docker/containers/78275e005f1e6cb9340bbed7d817b72adf955f7d2605c60273cf0e14a80f8303
1.2M    /var/lib/docker/containers/f570afe92a6b06ec295324e21ac7be57ec2819d20409f70fd26e7090230f2c02
6.6G    /var/lib/docker/containers/26bbd933b951615be7f163c4a8724014f2fb5b2aff429921b8c6f9bf57345f06
9.6G    /var/lib/docker/containers/e31c62d52e166f0912ccfd4e0bad266dff29bfbf2f1153269bd5b2e995823e62
17G     /var/lib/docker/containers

3. 运行时控制container日志(在我的环境下失效)

启动容器时,可以通过参数来控制日志的文件个数和单个文件的大小
-max-size 最大数值
-max-file 最大日志数

docker run -d --log-opt max-size=50m --log-opt max-file=3 --name schedule schedule

查看配置是否生效

docker inspect -f '{{.HostConfig.LogConfig}}'  + 容器名 查看配置是否生效

例:docker inspect -f ‘{{.HostConfig.LogConfig}}’ redisTestLog,若生效,则如下图所示:
在这里插入图片描述
我的环境未生效,结果如下图所示:

[root@localhost ~]# docker inspect -f '{{.HostConfig.LogConfig}}' schedule
{json-file map[]}

一两个容器还好,但是如果有很多容器需要管理,这样就很不方便了,最好还是可以统一管理。

4. 全局配置控制container日志(在我的环境下失效)

创建或修改文件 /etc/docker/daemon.json,并增加以下配置

{
    "log-driver":"json-file",
    "log-opts":{
        "max-size" :"50m",
        "max-file":"3"
    }
}

然后重启 Docker 服务(由于环境不同,重启命令可能不同:systemctl restart docker)

service docker restart # 我的环境

注意:不过已存在的容器不会生效,需要重建才可以

5. 直接关闭container日志(这个在我的环境倒是可以。。。)

docker run -d --log-driver=none --name schedule schedule

使用如下命令查看配置是否生效:

[root@localhost ~]# docker inspect -f '{{.HostConfig.LogConfig}}' schedule
{none map[]}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值