`docker 服务 ls` 显示 运行 服务但是 `docker ps -a` 缺少 运行 容器?其他丢失的 运行 容器在哪里列出?

`docker services ls` shows running services but `docker ps -a` is missing running containers? Where are the other missing running containers listed?

wordpress 服务 运行 已被 docker service ls 确认,访问博客 url 时博客已启动(在执行 docker stack rm wordpress 后被关闭)。

使用 docker stack deploy 部署 wordpress 后,堆栈如下所示:

user@prod:~/wordpress$ docker service ls
ID             NAME                  MODE         REPLICAS   IMAGE              PORTS
ph38i5su9slr   traefik_traefik       replicated   1/1        traefik:v2.4
yhu02cqufy8l   wordpress_db          replicated   1/1        mysql:5.7
v4q2ztqwv118   wordpress_wordpress   replicated   1/1        wordpress:latest

user@prod:~/wordpress$ docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED      STATUS      PORTS                                                                      NAMES
697cf6cfa806   traefik:v2.4   "/entrypoint.sh --pr…"   4 days ago   Up 4 days   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   traefik_traefik.1.i4txtjd2p0rcbnpd3bkv54eo2

为什么 wordpress 容器没有出现在 docker ps -a 中?

您正在使用 Docker Swarm,它可以 运行 在集群模式下跨多个节点。

一个合理的场景是 traefik 运行ning 在您执行 docker ps -a 命令的节点上,而其他容器 运行ning 在不同的节点上node/s.

要确认有多个节点,您可以尝试执行docker node ls。我想不出任何其他情况,您有一个 运行ning 服务,但只有一个容器可见(并且您只有一个主机)。