Spring boot 无法使用Docker Swarm通过Traefik访问Spring Boot组件

Spring boot 无法使用Docker Swarm通过Traefik访问Spring Boot组件,spring-boot,docker-swarm,traefik,Spring Boot,Docker Swarm,Traefik,我正在尝试运行一个Spring引导应用程序,它由Docker Swarm中Traefik反向代理后面的2个微服务组成。为我的Spring Boot webapplication使用双网络堆栈时,应用程序不响应 我有以下网络 NETWORK ID NAME DRIVER SCOPE c23c6ac30ecd bridge bridge local 0dcb7c

我正在尝试运行一个Spring引导应用程序,它由Docker Swarm中Traefik反向代理后面的2个微服务组成。为我的Spring Boot webapplication使用双网络堆栈时,应用程序不响应

我有以下网络

NETWORK ID          NAME                DRIVER              SCOPE
c23c6ac30ecd        bridge              bridge              local
0dcb7c122e69        docker_gwbridge     bridge              local
1e50cdf3eee7        host                host                local
wbhyv0itkveu        ingress             overlay             swarm
7sxpebq9pp7j        marc_default        overlay             swarm
e953c2393965        none                null                local
t8u63pf9l3cb        traefik-net         overlay             swarm
以及以下启动Traefik的配置

docker service create \
--name traefik \
--constraint=node.role==manager \
--publish 80:80 \
--publish 8080:8080 \
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
--network traefik-net \
traefik \
--docker \
--docker.swarmmode \
--docker.domain=traefik \
--docker.watch \
—web
现在,有一个docker-compose.yml文件

version: '3'
services:
  web:
    image: myapp-web
    env_file:
      - db-params.env
    environment:
      - server.port=8080
    deploy:
      labels:
        - 'traefik.port=8080'
    networks:
      - web
      - default

  be:
    image: myapp-be
    env_file:
      - db-params.env
    networks:
      - default

networks:
  web:
    external:
      name: traefik-net
和一个命令来启动组合:

docker stack deploy -c docker-compose.yml marc
在Traefik中有一个可见的URL:web-marc.Traefik,它在/etc/hosts中定义

不幸的是,当我问这个问题时,这个问题只是一个暂停。”

curl http://marc-web.traefik/
我试图从web组件中删除默认网络。它可以通过Traefik访问web组件,但是(当然)它找不到be组件


为什么我得不到Spring Boot的回复呢?

这似乎是Traefik中的一个bug。请参见

这似乎是Traefik中的一个bug。看