at_shinya.matsumoto
2022年11月1日 11時16分
本ブログはArmadillo Base OSにでコンテナを使用する際に、エラーログを確認する方法を紹介します。
コンテナのログ取得コマンド
コンテナ内のログ(エラーや標準出力)は開発時はコンテナ内でコンソールに表示され確認する事が出来ますが、コンテナを
自動起動した場合の様にコンテナに入らずにコマンド実行する場合、コンソールでもログファイル(/var/log/messages)でも
ログは表示されません。
この様なケースでコンテナ内のログを確認する場合はpodman logsコマンドを使用します。(ログはコンテナ削除時に消去)
正常にコンテナが動作しない場合に本ログを確認する事で解決できる場合があります。
コンテナのログ出力コマンド
[armadillo]# podman logs <コンテナ名>
ここでは例として、コンテナ内で存在しないファイルを開くcatコマンドを実行し、そのエラー出力例を示します。
また、コンテナ自動起動時はデフォルトではコンテナがエラー終了した場合、コンテナを再起動して実行する設定に
なっており延々と同じログが出る為、ここではエラー終了時5回だけ再起動する設定とします。
コンテナ内でのコマンド実行結果
[container]# cat /etc/atmark-release
cat: /etc/atmark-release: No such file or directory
コンテナのコンフィグファイル
[armadillo]# cat /etc/atmark/containers/test.conf
set_image localhost/testimage:v1.0
set_restart on-failure:5
set_command cat /etc/atmark-release
コンテナ起動~catコマンド実行後のログ確認
[armadillo]# podman_start test
Starting 'test'
4fc37de84929935dae92f500207e960d31ab54167edceeea8d56d794dbcbbe2e
[armadillo]# podman logs test
cat: /etc/atmark-release: No such file or directory
cat: /etc/atmark-release: No such file or directory
cat: /etc/atmark-release: No such file or directory
cat: /etc/atmark-release: No such file or directory
cat: /etc/atmark-release: No such file or directory
cat: /etc/atmark-release: No such file or directory
この様にコンソールに出力されなかったログをpodman logsコマンドで確認する事が出来ます。
コンテナを自動起動した時に、想定していない動作をしている場合は本ログを参考にして頂ければと思います。