2017-10-11 157 views
0

我试图运行一个Spring应用程序,由Docker Swarm中一个Traefik反转代理后面的2个微服务组成。当为我的Spring Boot Web应用程序使用双网络堆栈时,应用程序不响应。使用Docker Swarm无法通过Traefik到达Spring Boot组件

我有以下网络

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 

,还有一个码头工人,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有一个网址看到:网络marc.traefik,即在/ etc定义/主机

不幸的是,只是一个时间出来的时候I'n问”

curl http://marc-web.traefik/ 

我试图从Web组件中删除默认网络。它可以通过Traefik到达Web组件,但是(当然)它不能找到组件。

为什么我没有收到Spring Boot的回复?

回答