Hi, this is my first post so please excuse any rookie mistakes
I am trying to get Traefik to work with 3 containers, which are all based on the same docker image.
However, it seems there is some kind of low-level magic happening and connecting the wrong dots.
So my docker-compose config looks the following:
Service 1:
docker_dev01_shop:
container_name: docker_dev01_shop
image: devshop:v3
labels:
- "traefik.enable=true"
# ROUTERS
- "traefik.http.routers.docker-dev01.rule=Host(`docker-dev01.***.de`)"
- "traefik.http.routers.docker-dev01.entrypoints=web"
- "traefik.http.routers.docker-dev01.middlewares=httpsredirect-dev01,ipfilter-dev01"
- "traefik.http.routers.docker-dev01.service=docker-dev01"
- "traefik.http.routers.docker-dev01-secure.rule=Host(`docker-dev01.***.de`)"
- "traefik.http.routers.docker-dev01-secure.entrypoints=websecure"
- "traefik.http.routers.docker-dev01-secure.tls.certresolver=myresolver"
- "traefik.http.routers.docker-dev01-secure.middlewares=ipfilter-dev01"
- "traefik.http.routers.docker-dev01-secure.service=docker-dev01"
# MIDDLEWARES
- "traefik.http.middlewares.ipfilter-dev01.ipwhitelist.sourcerange=[someIPs, hidden for security]"
- "traefik.http.middlewares.httpsredirect-dev01.redirectscheme.scheme=https"
- "traefik.http.middlewares.httpsredirect-dev01.redirectscheme.permanent=true"
# SERVICES
- "traefik.http.services.docker-dev01.loadbalancer.server.port=80"
links:
- docker_dev01_db
networks:
- traefik_proxy
depends_on:
- docker_dev01_db
- docker_dev01_redis
volumes:
- devshop:/var/www/html
- /home/docker/fileadmin:/var/www/html/devshop/web/fileadmin
- processed:/var/www/html/devshop/web/fileadmin/_processed_/
- auto-created:/var/www/html/devshop/web/fileadmin/_(auto-created)_/
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
Service 2:
docker_dev02_shop:
container_name: docker_dev02_shop
image: devshop:v3
labels:
- "traefik.enable=true"
# ROUTERS
- "traefik.http.routers.docker-dev02.rule=Host(`docker-dev02.***.de`)"
- "traefik.http.routers.docker-dev02.entrypoints=web"
- "traefik.http.routers.docker-dev02.middlewares=httpsredirect-dev02,ipfilter-dev02"
- "traefik.http.routers.docker-dev02.service=docker-dev02"
- "traefik.http.routers.docker-dev02-secure.rule=Host(`docker-dev02.***.de`)"
- "traefik.http.routers.docker-dev02-secure.entrypoints=websecure"
- "traefik.http.routers.docker-dev02-secure.tls.certresolver=myresolver"
- "traefik.http.routers.docker-dev02-secure.middlewares=ipfilter-dev02"
- "traefik.http.routers.docker-dev02-secure.service=docker-dev02"
# MIDDLEWARES
- "traefik.http.middlewares.ipfilter-dev02.ipwhitelist.sourcerange=[someIPs]"
- "traefik.http.middlewares.httpsredirect-dev02.redirectscheme.scheme=https"
- "traefik.http.middlewares.httpsredirect-dev02.redirectscheme.permanent=true"
# SERVICES
- "traefik.http.services.docker-dev02.loadbalancer.server.port=80"
links:
- docker_dev02_db
networks:
- traefik_proxy
depends_on:
- docker_dev02_db
- docker_dev02_redis
volumes:
- devshop:/var/www/html
- /home/docker/fileadmin:/var/www/html/devshop/web/fileadmin
- processed:/var/www/html/devshop/web/fileadmin/_processed_/
- auto-created:/var/www/html/devshop/web/fileadmin/_(auto-created)_/
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
However: every time I start up the "docker_dev01_shop" container, it actually creates the routers "docker-dev02" and "docker-dev02-secure" by itself.
This is the output I get from the loglevel=DEBUG - Logs (traefik itself is running in a container, too):
Provider event received
{Status:start ID:ef4b7062f0f2e40d6e5b84284357a076fa3f552d33c600487971eba7f82d457a
From:devshop:v3 Type:container Action:start Actor:
{ID:ef4b7062f0f2e40d6e5b84284357a076fa3f552d33c600487971eba7f82d457a
Attributes:map[com.docker.compose.config-
hash:61d152336df2337680118d459eb419c27417ebb84e596a394c19227bf86c43e1
com.docker.compose.container-number:1
com.docker.compose.depends_on:docker_dev01_db:service_started,docker_dev01_redis:service_started
com.docker.compose.image:sha256:2e7b8eb3d0b7a5df28ec053e0b80f7998487917803f3f5b97b6a548eda33834c
com.docker.compose.oneoff:False
com.docker.compose.project:docker-dev01
com.docker.compose.project.config_files:/home/docker/docker-dev01/docker-compose.yml
com.docker.compose.project.working_dir:/home/docker/docker-dev01
com.docker.compose.service:docker_dev01_shop
com.docker.compose.version:2.6.0 image:devshop:v3 name:docker_dev01_shop traefik.enable:true
traefik.http.middlewares.httpsredirect-dev01.redirectscheme.permanent:true
traefik.http.middlewares.httpsredirect-dev01.redirectscheme.scheme:https
traefik.http.middlewares.httpsredirect.redirectscheme.permanent:true
traefik.http.middlewares.httpsredirect.redirectscheme.scheme:https
traefik.http.middlewares.ipfilter-dev01.ipwhitelist.sourcerange:[someIPs]
traefik.http.middlewares.ipfilter.ipwhitelist.sourcerange:[someIPs]
traefik.http.routers.docker-dev01-secure.entrypoints:websecure
traefik.http.routers.docker-dev01-secure.middlewares:ipfilter-dev01
traefik.http.routers.docker-dev01-secure.rule:Host(`docker-dev01.***.de`)
traefik.http.routers.docker-dev01-secure.service:docker-dev01
traefik.http.routers.docker-dev01-secure.tls.certresolver:myresolver
traefik.http.routers.docker-dev01.entrypoints:web
traefik.http.routers.docker-dev01.middlewares:httpsredirect-dev01,ipfilter-dev01
traefik.http.routers.docker-dev01.rule:Host(`docker-dev01.***.de`)
traefik.http.routers.docker-dev01.service:docker-dev01
traefik.http.routers.docker-dev02-secure.entrypoints:websecure
traefik.http.routers.docker-dev02-secure.middlewares:ipfilter
traefik.http.routers.docker-dev02-secure.rule:Host(`docker-dev02.***.de`)
traefik.http.routers.docker-dev02-secure.tls.certresolver:myresolver
traefik.http.routers.docker-dev02.entrypoints:web
traefik.http.routers.docker-dev02.middlewares:httpsredirect,ipfilter
traefik.http.routers.docker-dev02.rule:Host(`docker-dev02.***.de`)
traefik.http.services.docker-dev01.loadbalancer.server.port:80]}
Scope:local Time:1663174011 TimeNano:1663174011116377043}" providerName=docker
So for some reason, Traefik seems to get wrong information on what routers to activate.
So everytime I try to launch the "docker_dev02_shop" container, it fails with the error:
error msg="Router defined multiple times with different configurations in [docker-dev01-shop-docker-dev01-ef4b7062f0f2e40d6e5b84284357a076fa3f552d33c600487971eba7f82d457a docker-dev02-shop-docker-dev02-bfa5c3087c1f23518619aa9cbab4549efc036d599e37cdb3c78282eebbf0a8df]"
routerName=docker-dev02-secure providerName=docker
error msg="Router defined multiple times with different configurations in [docker-dev01-shop-docker-dev01-ef4b7062f0f2e40d6e5b84284357a076fa3f552d33c600487971eba7f82d457a docker-dev02-shop-docker-dev02-bfa5c3087c1f23518619aa9cbab4549efc036d599e37cdb3c78282eebbf0a8df]"
routerName=docker-dev02 providerName=docker
Is there any way to fix this or to clear temporary files or whatever?
Any help would be greatly appreciated. Thanks!
Cheers,
Matt