如何查看Docker Swarm中运行容器的当前日志驱动?
查询Docker Swarm运行容器的日志驱动方法
方法1:通过docker inspect直接查看容器日志驱动
你之前用docker inspect没找到,可能是没定位到正确字段。用格式化命令可以快速输出目标容器的日志驱动:
docker inspect <container-id> --format '{{.HostConfig.LogConfig.Type}}'
如果需要查看完整的日志配置(比如驱动选项),可以输出完整的LogConfig对象:
docker inspect <container-id> --format '{{json .HostConfig.LogConfig}}'
方法2:批量查询Swarm服务下所有容器的日志驱动
由于你的容器是通过Docker Compose部署到Swarm的同一服务实例,可先获取服务下的容器ID再批量查询:
# 替换为你的服务名称 docker service ps -q <service-name> | xargs docker inspect --format '{{.Name}}: {{.HostConfig.LogConfig.Type}}'
方法3:查看Swarm服务的模板配置
Swarm服务的所有容器共享同一任务模板配置,直接查看服务的日志驱动定义即可,无需逐个查询容器:
docker service inspect <service-name> --format '{{.Spec.TaskTemplate.ContainerSpec.LogConfig.Type}}'
如果你的Compose文件里显式配置了logging字段,这个命令返回的就是配置中的驱动;如果未配置,就是创建该服务时Docker引擎的默认日志驱动。
内容的提问来源于stack exchange,提问作者Dutts
相关产品推荐
相关产品推荐

