2017-10-11 10 views
0

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から返信を受け取りませんか?

答えて

関連する問題