Docker Swarm - 无法从同一主机访问服务如果使用没有堆栈的 docker-compose 则可以工作

问题描述

我有一个正在从其他容器以及主机本身访问的服务。 docker-compose.yaml 中的定义

version: "3.8"
services:
  ads:
    image: cloud.dev/ads:test1
    container_name: ads
    hostname: ads
    ports:
      - "9001:9000"

其他容器使用 ads:9000 访问此服务,而我使用 ads:9001 从主机访问该应用程序并且它工作正常!

然后我测试了 docker swarm。 我创建了一个堆栈 ams_stack 我为 ads

定义了我的 ams_stack 服务
version: "3.8"
services:
  ads:
    image: cloud.dev/ads:test1
    deploy:
      replicas: 1
      placement:
        constraints:
          - "node.role==worker"
    hostname: ams_stack_ads
    ports:
      - "9001:9000"

我看到服务正在运行!

6b0f8d514f02    cloud.dev/ads:test1   "dssrv_mssql.exe -ad…"   3 hours ago   Up 3 hours    ams_stack_ads.1.owmej7byvzhnwud98dwmo4joe

所以我尝试访问:

ams_stack_ads:9001
ams_stack_ads:9000
ads:9001
ads:9000

没有任何效果...请帮忙...谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)