私のコンテナの中からjournald
へのログをテストしようとしています。ビルドシステムはコンテナ内で動作するので、これをコンテナ内で動作させたい。私はjournalctl
を使用するスクリプトをテストする必要があり、解析するために出力を生成する必要があります。テストスクリプトはコンテナ内で実行する必要があります。Dockerコンテナ内で `systemd-cat`を使用できません
は、私はこのような私のコンテナを起動しています:
$ docker run --rm -it -v $(pwd):/home/edge -w /home/edge --log-driver=journald ubuntu /bin/bash
[email protected]:/home/edge# systemd-cat -t overflow ls /etc
Failed to create stream fd: No such file or directory
私はそれが動作するホストDebianに同じコマンドを実行する場合:
$ systemd-cat -t overflow ls /etc
$ sudo journalctl | grep overflow
Nov 01 08:09:53 nanode64 overflow[9037]: acpi
Nov 01 08:09:53 nanode64 overflow[9037]: adduser.conf
Nov 01 08:09:53 nanode64 overflow[9037]: adjtime
Nov 01 08:09:53 nanode64 overflow[9037]: aliases
Nov 01 08:09:53 nanode64 overflow[9037]: alternatives
Nov 01 08:09:53 nanode64 overflow[9037]: anacrontab
Nov 01 08:09:53 nanode64 overflow[9037]: apache2
Nov 01 08:09:53 nanode64 overflow[9037]: apg.conf
Nov 01 08:09:53 nanode64 overflow[9037]: apm
Nov 01 08:09:53 nanode64 overflow[9037]: apt
...
これは私の問題を解決することはできませんが、コンテナ内のホストの 'journald'ソケットに接続できますか? –
もちろん、 '-v/run/systemd/journal:/ run/systemd/journal'を' docker run'コマンドラインに追加することでジャーナルソケットを公開することができますが、ほとんどの場合、標準ドッカーのロギング動作。 – larsks
私はコンテナの中からログにアクセスする必要があります。私は間違っているかもしれませんが、私は "標準的なドッカーのロギング動作"を使ってこれを行うことはできないと思います。 –