New router and service provided by docker called "traefik-infrastructure@docker"

Hello,
I was working on getting Prometheus to work with my Traefik set up and suddenly noticed entries in the Traefik logs about there being "No entryPoint defined for this router, using the default one(s) instead"

This new router is called "traefik-infrastructure@docker". Obviously provided by Docker
Host(traefik-infrastructure). The target server appears to be on port 53 (http://172.18.0.2:53).

Any ideas what this is?

It seems to be an internal thing as the IP address is assigned to the Traefik container itself. Does anyone know what this is for? Obviously it's some sort of DNS thing but I don't remember seeing it before.

Hello,

traefik-infrastructure@docker means that you have container called infrastructure or traefik-infrastructure, the @docker prove that is not an internal Traefik router or service.

I think that you are using the default behavior for the detection of container, and you created a new container called infrastructure or traefik-infrastructure.

https://docs.traefik.io/v2.2/providers/docker/#exposedbydefault

1 Like

Thank you for that. I ran docker ps and could not see anything like that. I stopped all containers, ran docker rmi and prune to remove old stuff to no avail.

I recreated the containers with --force-recreate as well

Is there a way to "reset" docker?

I've also checked my traefik.yml file and docker is not configured to exposedbydefault.

Is there a way to reset docker or force it to reload its own configuration? I've also searched for traefik-infrastructure in the config files and could not find any entries that might have been left by mistake.

providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false

So after spending sometime investigating this and a few tests to confirm and found the following:

  • traefik-Infrastructure is called that because traefik is running in a stack called infrastructure. Renaming the stack to test and recreating the container creates traefik-test instead.

  • I had:

    labels:
      - "traefik.enable=true"

added to the Traefik service in the docker-compose file.

The question is, should I keep this or remove it? It exposes traefik to itself

If you are defining any routes in it's labels, then yes keep it.