Spring boot 无法使用Docker Swarm通过Traefik访问Spring Boot组件
我正在尝试运行一个Spring引导应用程序,它由Docker Swarm中Traefik反向代理后面的2个微服务组成。为我的Spring Boot webapplication使用双网络堆栈时,应用程序不响应 我有以下网络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
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。看