Dockerコンテナログサイズの制限

1407 ワード

一、dockerのコンテナログサイズの表示
1.1 dockerコンテナログを表示する:
docker logs -f  

 
1.2 linux上のコンテナログは、一般的に/var/lib/docker/containers/container_に保存されます.id/以下、json.logの最後のファイル(ビジネスログ)は大きいです.
du -h --max-depth=1 * // 、 。
du -h --max-depth=0 *  // 。
du –sh // 。

 
二、Docker容器の整理(治標)
2.1ここでは、rmではなくcat/dev/null>で空にする必要があります.
cat /dev/null > /var/lib/docker/containers/ id/ id-json.log

 
三、Docker容器ログサイズの設定(治本)
3.1コンテナ・サービスのログ・サイズの上限を設定する
容器docker-composeを配置する.ymlのmax-sizeオプションを実装します.
nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: "json-file"
    options: 
      max-size: "5g"

 
3.2グローバル設定
新規/etc/docker/daemon.json、あれば新築しなくてもいい
 
# vim /etc/docker/daemon.json

{
  "registry-mirrors": ["http://f613ce8f.m.daocloud.io"],
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

 
max-size=500 mは、1つのコンテナログサイズの上限が500 Mであることを意味し、
max-file=3は、1つのコンテナにid+という3つのログがあることを意味する.json、id+1.json、id+2.json
注意:設定後は、新しく追加したコンテナにのみ有効です.
 
dockerデーモンの再起動
systemctl daemon-reload

systemctl restart docker

ターンhttps://www.cnblogs.com/angel-devil/p/12558908.html