限制docker容器的log大小的各式情境与方法

以下都是在说linux主机的状况:

如果是还没有创建容器的状况下使用的方法已经有容器并且使用docker compose并且有volume mount在外部主机的状况

首先第一种就很单纯

先去/etc/docker底下,创建deamon.json
{    "log-driver": "json-file", # docker预设都是json格式    "log-opts": {        "max-size": "1m", # 你想要一个log file有多大?        "max-file": "3"   # 最多几个log file存在    }}
接着输入命令去重启docker service
systemctl daemon-reload # 通常docker的配置没有在 /etc/systemd 下所以可以不用输入这句systemctl restart docker # 重启docker服务
创建容器后,可以去/var/lib/docker/containers下 容器的id名称,去看里面的hostconfig.json
"LogConfig": {    "Type": "json-file",    "Config": {        # 这里应该要有配置好的部分    }}

有出现的话就成功了~


那第二种情境,刚刚提到这个配置要新创的容器才能应用,那可能会想到说我在docker compose down以及docker compose up的过程就会重新创建容器了啊~

但是如果有做持久化的话会有相关的volume,除非都一起删掉不然无法
但是很多状况下不可能去删除

所以可以更改docker_compose.yml

logging:      driver: "json-file"      options:        max-size: "10m"        max-file: "3"

重新compose就可以应用了~


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章