It’s possible to make an network connection between a docker compose service and a docker swarm container?
I’m trying to use traefik proxy outside of my docker swarm cluster to preserve the real IP (using X-Forwarded-For) from client-machines and pass these information to my app through docker network.
So, to do that I have the proxy on compose and my app on swarm.
I tried to use an overlay network between these, but didn’t work.
I have to do it because the issue #25526 (https://github.com/moby/moby/issues/25526)
Below these compose files to reproduce this example:
app compose file (whami):
version: ‘3’
services:
whoami:
image: emilevauge/whoami #A container that exposes an API to show it's IP address
labels:
- "traefik.backend=whoami"
- "traefik.frontend.rule=Host:127.0.0.1"
- "traefik.enable=true"
deploy:
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
Proxy (traefik) compose file:
version: ‘2’
services:
reverse-proxy:
image: traefik #The official Traefik docker image
command: --api --docker #Enables the web UI and tells Træfik to listen to docker
ports:
- "80:80" #The HTTP port
- "8080:8080" #The Web UI (enabled by --api)
volumes:
- /var/run/docker.sock:/var/run/docker.sock #So that Traefik can listen to the Docker events