#author("2021-01-15T09:08:50+09:00","default:nobuoki","nobuoki")
#author("2021-01-15T09:13:23+09:00","default:nobuoki","nobuoki")
* はじめに [#s9e420fc]
podman でコンテナログをファイルに吐き出そうとしたが、ちょっと癖があることに気づいたのでメモ

* 例 [#u273240d]
カレントディレクトリに存在する hello.rb を実行したときのログを、json 形式で特定のパス(/tmp/mycontainer.json)に出力させる

#prism(bash){{{
podman run \
  --log-driver=k8s-file --log-opt path=/tmp/mycontainer.json \
  -v $(pwd):/app \
  -w /app \
  ruby:alpine \
  ruby hello.rb
}}}

* ポイント [#k1048d80]
- log-driver には(docker で言うところの json-file ではなくて) ''k8s-file'' を指定する
- ログ出力パスを log-opt で指定する
-- log-opt を指定しない場合、ログ出力パスは docker inspect で取得する

ログ出力パスの取得例

#prism(bash){{{
$ podman inspect --format '{{.LogPath}}' inspiring_feynman # コンテナ名: inspiring_feynman
/home/nobuoki/.local/share/containers/storage/overlay-containers/c01e8ec014baa9d7f34f8bb5acf8d76bf400f88e6e110302b0784d1512c08b51/userdata/ctr.log
}}}

* 肝心のログ [#ydff2032]
json 形式ではないです残念

#prism(bash){{{
$ cat $(podman inspect --format '{{.LogPath}}' inspiring_feynman)
2021-01-15T08:38:58.704885606+09:00 stdout F hello
}}}


* 参考 [#ia267594]

- [[podman/podman-run.1.md at master · containers/podman · GitHub>https://github.com/containers/podman/blob/master/docs/source/markdown/podman-run.1.md]]
- [[コンテナ運用におけるログ基盤設計のベストプラクティス - Qiita>https://qiita.com/naomichi-y/items/6eeebd21adf8e771a8e7]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS