LoginSignup
3
4

More than 5 years have passed since last update.

メモ:docker-composeで起動しているnginxのログをrotateする

Posted at
  • docker-composeでnginx:alpineを起動しているが、logrotateでログをローテートさせたい。
  • dockerコンテナ自体のログなら、dockerのログなら標準オプションでローテートさせることが可能だし、docker-composeのdriverにもローテートさせるオプションがある。
  • が、今回のログは、docker-composeで起動したnginx:alpineのログで、それをvolumeでマウントしたホスト側のディスクに書き出しているので、docker自体をlogrotateでrestartしている。
  • 基本的には通常のlogrotateと同じように/etc/logrotate.d配下にrotateの定義を書いたファイルを置いている。置いているのは、ホスト側のサーバだ。
  • docker-composeのkillオプションでsiginalをdockerに送れるので、それでUSR1を送っている。
/etc/logrotate.d/docker_nginx
/var/log/nginx/*.log
{
    rotate 4
    weekly
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /usr/local/bin/docker-compose -f /usr/local/docker/docker-compose.production.yml kill -s USR1 nginx
    endscript
}
  • docker-composeコマンドのパスや、docker-composeの定義ファイルは環境によって変わると思う。
3
4
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
3
4