DockerComposeには必ずログの設定をしよう
DockerComposeを使って起動したDockerコンテナのログは、docker-compose logs SERVICE_NAME
で確認できる。
しかし、このログはコンテナを削除しない限りずっと残ってしまう。
ログが溜まれば、ディスクを圧迫してしまうことにもなるし、何万行もあるログを確認することになると、最新のログが表示されるまで何十秒もかかってしまう。
ログの設定を行い、快適なDockerライフを送りましょう。
DockerComposeでのログの設定
私が開発環境で行っているログ設定はこちら。
services:
app:
logging:
driver: json-file
options:
max-file: '1'
max-size: 3m
ログを最新の3MBだけ記録しています。
設定について
driver
driver: json-file
ここでは、ログの保存方式を指定しています。json-file
はデフォルトの設定で、その名の通りJSONファイルとして保存します。
他にも、syslog, awslogs, gcplogs
など設定できます。
options
options:
max-file: '1'
max-size: 3m
1ログファイルmax-sizeまで保存され、max-file数のログファイルを残しておくことができます。
開発環境では、古いログは不要なので、最大3MBまで保存していれば十分でしょう。