配置 dockerd 记录启动容器的用户的用户 ID 或用户名

配置 dockerd 记录启动容器的用户的用户 ID 或用户名

我更新了 docker 守护进程配置,以在 Linux 上为 dockerd 守护进程启用调试模式。同时,我还使用 rsyslog 成功创建了一个单独的调试日志文件。现在我想在该日志文件中记录启动容器的用户的用户 ID/名称。我探索了 docker 日志记录驱动程序,但找不到任何相关内容。有什么方法可以实现这种行为吗?

答案1

进程dockerd不知道。用户是任何有权访问 API 的人,通常是套接字docker.sock,但如果已启用,也可能是通过网络的远程连接。该访问中没有传递用户凭据。请注意,客户docker端只是一个将 json API 请求传递给 API 的瘦客户端dockerd,而调用用户不是该请求的一部分。

可以配置一个authz 插件这取决于mTLS 身份验证进入 Docker API,但这是大多数人不会做的额外配置,然后可能只能在插件本身内添加该日志记录。

我建议将 Docker 引擎视为低级工具,并在更高级别实现用户凭据和身份验证。这类似于 Docker 实现其 UCP 工具的方式,以及 Kubernetes 在 Docker 上运行的方式。

相关内容