3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?