限制Docker容器日志大小

Docker容器的日志默认情况下不会自行删除,可能导致内容无限增长,占用磁盘空间。

可以在Docker全局配置或创建容器时指定日志配置。

全局配置

注意:全局配置修改后需重启Docker,且只对后续创建的容器生效。

可以使用以下内容配置Docker daemon

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

第一个配置是默认行为,使用json文件存放日志。重点是第二个配置:

  • max-size 指定单个日志文件的最大容量,这里设置为16MB。
  • max-file 指定日志文件数,这里指定 3 表示三个日志文件轮换使用,一个满了就用下一个。

上述配置的日志最大磁盘占用为48MB,可根据需求自行修改。

容器创建配置

除了全局配置,也可以在容器创建时指定,实现更灵活的日志配置。以Nginx的容器创建为例:

docker run -d --log-driver=json-file --log-opt max-size=16m --log-opt max-file=3 nginx

也可以在docker-compose.yml配置中指定:

services:
  your_service:
    image: nginx
    logging:
      driver: "json-file"
      options:
        max-size: "16m"
        max-file: "3"

log-driver依然可以省略,配置效果和上面全局配置相同,此处不赘述。

最后

再次提醒:

对于现存的容器,无论使用哪种方式,都需要重新创建。请在重建容器前做好数据的持久化工作。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇