要查看 docker 中节点服务(service)相关信息,核心是使用 docker swarm 的命令体系——因为“service”是 swarm 模式下的原生编排单元,普通单机容器(docker run 启动的)不涉及 service 概念。确认是否启用 swarm 模式service 只在 swarm 集群中存在。先检查当前节点是否已初始化为 swarm manager 或 worker: 运行 docker info | grep swarm,输出 swarm: active 表示已启用 若显示 inactive,需先执行 docker swarm init(manager)或 docker swarm join ...(worker)查看所有服务(service)列表在任意 manager 节点上执行: docker service ls:列出所有服务名称、副本数、镜像、端口映射和整体状态 加 --format 可定制输出,例如:docker service ls --format "table {{.name}}\t{{.mode}}\t{{.replicas}}\t{{.ports}}"查看某服务的详细信息与任务状态service 本身是声明式定义,实际运行靠底层的“任务(task)”支撑: docker service ps :查看该服务下所有任务的分配节点、当前状态(running/failed/shutdown)、启动时间等 docker service inspect :输出完整 json 配置,含网络、部署策略、环境变量、挂载等

要查看 Docker 中节点服务(Service)相关信息,核心是使用 Docker Swarm 的命令体系——因为“Service”是 Swarm 模式下的原生编排单元,普通单机容器(docker run 启动的)不涉及 Service 概念。
确认是否启用 Swarm 模式
Service 只在 Swarm 集群中存在。先检查当前节点是否已初始化为 Swarm manager 或 worker:
- 运行
docker info | grep Swarm,输出Swarm: active表示已启用 - 若显示
inactive,需先执行docker swarm init(manager)或docker swarm join ...(worker)
查看所有服务(Service)列表
在任意 manager 节点上执行:
-
docker service ls:列出所有服务名称、副本数、镜像、端口映射和整体状态 - 加
--format可定制输出,例如:docker service ls --format "table {{.Name}}\t{{.Mode}}\t{{.Replicas}}\t{{.Ports}}"
查看某服务的详细信息与任务状态
Service 本身是声明式定义,实际运行靠底层的“任务(Task)”支撑:
-
docker service ps <service_name></service_name>:查看该服务下所有任务的分配节点、当前状态(Running/Failed/Shutdown)、启动时间等 -
docker service inspect <service_name></service_name>:输出完整 JSON 配置,含网络、部署策略、环境变量、挂载等细节 - 加
--pretty参数可美化输出:docker service inspect --pretty <service_name></service_name>
查看服务日志与容器进程
Service 日志默认聚合其所有任务的标准输出:
-
docker service logs <service_name></service_name>:查看整体日志(默认只显示最近几条) - 加
-f实时跟踪:docker service logs -f <service_name></service_name> - 加
--tail 100查看最新 100 行:docker service logs --tail 100 <service_name></service_name> - 如需查具体某个任务容器内的进程,先用
docker service ps找到对应容器 ID,再用docker exec -it <container_id> ps aux</container_id>











