Docker SwarmのTraefik逆プロキシの背後に2つのマイクロサービスからなるSpring Bootアプリケーションを実行しようとしています。 SpringブートWebアプリケーションにデュアルネットワークスタックを使用している場合、アプリケーションは応答しません。Docker Swarmを使用してTraefikからSpringブートコンポーネントに到達できません
は私が
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
今Traefikを起動するには、次のネットワーク
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
そして、次のような構成を持っている、ドッキングウィンドウ-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
そして、コンポジットを開始するコマンド:
Traefikでdocker stack deploy -c docker-compose.yml marc
目に見えるURLがあります:ウェブmarc.traefikが、それは/ etc/hostsに定義されて
は残念ながらちょうどタイムアウトI'nは」
curl http://marc-web.traefik/
を求めています
ウェブコンポーネントからデフォルトのネットワークを削除しようとしました。それはTraefikを介してWebコンポーネントに到達することができますが、(もちろん)それはコンポーネントではありません。
なぜ私はSpring Bootから返信を受け取りませんか?