LoginSignup
21
21

More than 5 years have passed since last update.

Dockerコンテナのログをローテートする

Last updated at Posted at 2015-08-04

コンテナログのrotateについて

コンテナを実際の環境で運用しようと思うと、各種ログをローカルに保存する必要があります。

しかし、そのままにしておくとログが肥大化してしまいますのでlogrotateが必要です。
参考にしたページ

環境

  • rhel 7.1
  • docker 1.6.2

手順

  • 格納先を作成する
mkdir /var/log/docker/rhel1

 

  • logrotateを実装する
vi /etc/logrotate.d/docker-container
/etc/logrotate.d/docker-container
#設定は好みで変えて下さい
/var/log/docker/*/* {
  rotate 7
  daily
  compress
  size=1M
  missingok
  delaycompress
  copytruncate
}

 

  • コンテナを起動する

private resistryから取得しているため、
環境によってimageの取得先を変えて下さい

docker run -it  --name=rhel1 -v /var/log/rhel1:/var/log/ localhost:5000/library/rhel:latest /bin/bash

 

  • ログ生成
echo aaa > /var/log/messages

 

  • Ctrl+p+qでコンテナを抜ける

以降はテスト

  • ローテートの手動実行
logrotate -fv /etc/logrotate.d/docker-container

 

  • ログ確認
ls /var/log/docker/rhel1/
messages  messages.1

概要説明

コンテナからOS上のディスクをボリュームマウント(-vオプション)して、ログをローカルに吐き出しています。これをlogrotateの対象とすることでローテートを実現しています。

logrotateの実行タイミングはどういじればいいの?という方は、こちらにまとめた記事がありましたのでご覧ください。

21
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
21