我使用 podman 运行无根容器系统容器,即 systemd 作为入口点在容器内运行。
但是,我不明白如何获取容器的日志,即 systemd 本身的输出和日志进入 podman 的容器日志(它podman logs <containername>
给你什么)。
据我了解,podman 将入口点的 stdout/stderr 连接到容器日志 fd。但 systemd 不使用它,而是写入/dev/console
。
因此,如果我使用 运行容器,-t
我会在终端上看到 systemd 输出(因为 vt 被映射到容器中/dev/console
)。但无论有-t
没有,我都不会在容器日志中看到任何内容。似乎入口点 stdout 在容器中根本不可用,因为 systemd/dev/null
在启动期间将其自己的 stdin/stdout/stderr 重定向到。
我没有找到任何选项来让 systemd 写入 stdout 或让 podman 将其日志 fd 挂载到容器中,例如dev/console
。
我不敢相信这个问题还没有解决。有人知道怎样做我想做的事吗?