2017-10-23 1 views
0

Ich muss zwei identische Container hinter Traefik ausführen, die Anfragen annehmen müssen, die an mehreren Ports eingehen. Um dies zu tun, verwende ich docker service labels. Das Problem, mit dem ich konfrontiert bin, ist, wenn ich Docker-Service-Labels verwende und versuche, auf zwei Container zu skalieren. Ich bekomme eine Fehlermeldung über das Backend, das bereits definiert wurde.Wie führe ich zwei Andock-Container im selben Backend aus, die Verbindungen an mehreren Ports akzeptieren können?

Mit den normalen Etiketten (traefik.frontend, traefik.port etc.) funktioniert gut, aber das Hinzufügen der zusätzlichen Etiketten (traefik.whoami.frontend, traefik.whoami.port etc.) Dinge zu brechen scheint.

Docker komponieren Datei:

version: '2' 

services: 
    whoami: 
    image: emilevauge/whoami 
    networks: 
     - web 
    labels: 
     - "traefik.http.frontend.rule=Host:whoami.docker.localhost" 
     - "traefik.http.port=80" 
     - "traefik.http.frontend.entryPoints=http" 
     - "traefik.http.frontend.backend=whoami" 

     - "traefik.soap.frontend.rule=Host:whoami.docker.localhost" 
     - "traefik.soap.port=8443" 
     - "traefik.soap.frontend.entryPoints=soap" 
     - "traefik.soap.frontend.backend=whoami" 

networks: 
    web: 
    external: 
     name: traefik_webgateway 

Scale-up:

$ docker-compose scale whoami=2 
Creating and starting whoami_whoami_2 ... done 

Traefik Fehlerprotokoll:

proxy_1 | time="2017-10-23T15:37:16Z" level=error msg="Near line 39 (last key parsed 'backends.backend-whoami.servers'): Key 'backends.backend-whoami.servers.service' has already been defined." 

Kann mir jemand sagen, was ich falsch hier zu tun, oder wenn es ist eine andere Möglichkeit, zwei Ports einem Container zuzuordnen?

Danke!

Antwort

Verwandte Themen