ジャーナルドライバを使用してDockerからログを取得するには?

ジャーナルドライバを使用してDockerからログを取得するには?

オープンシューズタンブルウィド+ドッカー17.04。次のコマンドを使用して/etc/docker/daemon.jsonを作成しました。

{
    "log-driver": "journald",
    "log-opts": {
            "labels": "my_test",
            "env": "os,customer"
    }
}

それからdockerデーモンを起動しましたsystemctl start docker。確認:現在のデフォルトドライバをsudo docker info|grep Logg確認してください。journaldその人も私sudo docker inspect -f '{{.HostConfig.LogConfig.Type}}' MY-CONTAINER-IDにその本を読んでくれましたjournald。 Dockerは次のように実行されます。

sudo docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup --tmpfs /run/dbus --tmpfs /run/lock --cap-add=ALL MY-CONTAINER

それからSHを使って編集しました。 Dockerでは、次のコマンドを使用して複数のログメッセージを作成しました。

logger XXX
logger -p local0.notice XXX
# etc...

Dockerログにこれらのメッセージが表示されますjournalctl -n ...。コンテナ(「ホストOS」)でも、次のログメッセージを見つけることができるようです。 Nothing journalctl -n ...。とdocker logs MY-CONTAINER-ID- 何もありません。 Dockerのメッセージをコンテナ(「ホスト」)ログに記録したいと思います。設定は正しいようですが、ログメッセージがありません。誰かが私を助けることができますか? OpenSuseのDocker/私の設定に問題がありますか?

答え1

docker Journaldドライバはコンテナプロセスのstdoutとstderrをキャプチャします。

一方、ロガーコマンドはメッセージを/dev/log

編集する

こうすればいいと思います。logger -s

関連情報