かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

Spring Boot 1.5.x の Web アプリを 2.0.x へバージョンアップする ( 番外編 )( docker logs メモ書き )

概要

記事一覧はこちらです。

docker logs で出力されるログはソケットかパイプでコンテナの標準出力・標準エラー出力に出力されたものを受け取って表示していると何となく思っていたのですが、docker logs で表示されるログの保存場所とローテート方法 の記事を読むとどうもログファイルに出力していて、それを読み取って表示しているらしいです。興味が湧いたので確認してみます。

参照したサイト・書籍

  1. docker logs で表示されるログの保存場所とローテート方法
    https://qiita.com/tily/items/adb433505da6c7812725

  2. Docker for WindowsのMobyLinuxVMに接続する方法
    https://qiita.com/gentaro/items/cf666259cb6baf2eb8db

  3. Configure logging drivers
    https://docs.docker.com/config/containers/logging/configure/

目次

  1. docker logs コマンドで出力されるログがログファイルに出力されていることを確認する
  2. log-driver に awslogs を指定すればコンテナのログを Amazon CloudWatch Logs に転送できるらしい

手順

docker logs コマンドで出力されるログがログファイルに出力されていることを確認する

pgadmin4 はログインしているとコンテナのログが出力され続けるので、これでログファイルのサイズが増え続けるのか確認してみます。

docker-compose up -d コマンドでコンテナを起動した後、docker inspect --format '{{ .LogPath }}' pgadmin4 でログファイルのパスを確認します。

f:id:ksby:20190122222149p:plain

Hyper-V 上に作成されている MobyLinuxVM に接続してログファイルを確認します。適当なディレクトリに Dockerfile を新規作成し、以下の内容を記述します。

FROM alpine
MAINTAINER You <you@example.com>
RUN apk update && \
    apk add util-linux && \
    rm -rf /var/cache/apk/*
ENTRYPOINT ["nsenter", "--target", "1", "--mount", "--uts", "--ipc", "--net", "--pid"]

build した後、コンテナを起動して MobyLinuxVM に接続します。

> docker build . -t hostenter
> docker run -it --privileged --pid=host hostenter /bin/sh

接続後、docker inspect --format '{{ .LogPath }}' pgadmin4 コマンドで取得したディレクトリへ移動し、ログファイルのサイズが増え続けていることを確認します。

f:id:ksby:20190122223619p:plain

確かにログファイルが作成されていて、サイズが増え続けていました。ログが出力され続けるコンテナを長時間起動したままにする時は、ログファイルの最大サイズを設定した方が良さそうです。

log-driver に awslogs を指定すればコンテナのログを Amazon CloudWatch Logs に転送できるらしい

Configure logging driversAmazon CloudWatch Logs logging driver を見た感じでは、Docker 自体にログ転送の機能が用意されていて、log-driver に awslogs を指定して設定するだけで Amazon CloudWatch Logs に転送できるようです。

試してみたいところですが、今回はメモ書きに留めておきます。2.0.x へのバージョンアップの記事はそろそろ終わらせて 2.1.x の記事に移りたいので。

ここまで docker network、docker volume、docker logs を見ましたが、他にもまだ何かあるのでしょうか。。。

履歴

2019/01/22
初版発行。