给定一个 Docker Engine 客户端(GitLab Runner),它通过 Docker Engine API 动态创建和销毁容器。
约束
HostConfig.LogConfig.Type
始终设置为且json-file
无法更改;另请参阅https://gitlab.com/gitlab-org/gitlab-runner/-/commit/aa96ed52c7a8bea6b6679d0bca682404bfed14e4。- 每当相应的容器被销毁时,Docker Engine 就会删除所有 JSON 日志文件;选项
max-file
和max-size
似乎不会影响该行为。 - 如果给定的话,Docker Daemon 的日志驱动程序配置将始终被创建容器的客户端覆盖。
如果上述一个或多个约束有误,请纠正我。
如果不执行以下任一操作,我怎样才能捕获 GitLab Runner 创建的容器的日志:
- 向 GitLab Runner 或 Docker Engine 发出合并请求
- 更改已创建容器的图像
背景是,GitLab Runner 不会发布所谓“服务容器”的日志;另请参阅https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2119。