我更新了 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 上运行的方式。