未启用Docker Swarm时,如何列出所有运行的Docker服务?
Docker非Swarm环境下查看服务的等效命令
你使用的docker service ps service是Docker Swarm集群专属命令,只有在Swarm模式下才能使用,未启用Swarm时自然会报错。在非Swarm环境中,Docker没有和Kubernetes kubectl get services完全对应的统一服务抽象,但可以通过以下命令查看对外提供服务的容器/服务单元:
1. 查看运行中容器的端口映射(对应暴露的服务)
要识别所有正在运行、且对外暴露端口的容器(对应K8s中Service关联Pod的暴露端口),使用:
docker ps
该命令输出的PORTS列会显示容器内部端口到主机端口的映射关系,以此判断哪些容器在对外提供服务。
如果需要更简洁的格式化输出(仅展示关键信息):
docker ps --format "table {{.Names}}\t{{.Ports}}\t{{.Image}}"
2. 若使用Docker Compose管理服务
如果你用Docker Compose编排服务(类似K8s的Deployment+Service组合),可以查看Compose项目内的服务状态:
docker compose ps
查看所有已创建的Compose项目:
docker compose ls
内容的提问来源于stack exchange,提问作者Aadithya V
相关产品推荐
相关产品推荐

