Je voudrais mettre en place le scénario suivant:Traefik comme proxy pour conteneur Docker avec des machines hôtes réseau
- Une machine physique avec des conteneurs Docker
- traefik dans un conteneur avec le réseau
backend
- une autre conteneur qui utilise le réseau de machines hôtes (
network_mode: host
)
Traefik a trouvé le conteneur et l'a ajouté à l'adresse IP s 127.0.0.1
qui évidemment n'est pas accessible depuis le conteneur traefik (réseau/pont différent).
docker-compose.yml:
version: '3'
services:
traefik:
image: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/etc/traefik/traefik.toml
networks:
- backend
app:
image: my_app
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:myapp.example"
- "traefik.port=8080"
network_mode: host
networks:
backend:
driver: bridge
Le conteneur app
est ajouté avec
Server URL Weight
server-app http://127.0.0.1:8080 0
Load Balancer: wrr
Bien sûr, je peux accéder à app
avec http://127.0.0.1:8080
sur la machine hôte ou http://$HOST_IP:8080
du récipient de traefik. Puis-je d'une manière ou d'une autre convaincre traefik d'utiliser une autre adresse IP pour le conteneur?
Merci!
Essayez d'ajouter l'application au réseau principal. – yamenk
J'ai oublié d'ajouter 'network_mode' à la configuration du conteneur de l'application. – efpe