Hi @jerryg
I had my first go at a consul + traefik configuration yesterday with [CONSUL][ACL] Using ACL with traefik 2.0 for configuration discovery
Hopefully this can help.
docker-compose traefik+consul
version: "3.8"
services:
traefik:
image: "traefik:v2.4"
command:
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --entrypoints.websecure.http.tls=true
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.consul.endpoints=consul:8500
- --accesslog
- --accesslog.format=json
- --api
- --log.level=INFO
- --log.format=json
labels:
traefik.enable: "true"
traefik.http.routers.api.rule: PathPrefix(`/api`) || PathPrefix(`/dashboard`)
traefik.http.routers.api.service: api@internal
traefik.http.services.dummy.loadBalancer.server.port: 65535
ports:
- published: 80
target: 80
- published: 443
target: 443
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: traefik/whoami
ports:
- 8080:80
consul:
image: consul
ports:
- 8500:8500
command:
- agent
- -server
- -bootstrap
- -client=0.0.0.0
- -ui
consul KV
curl localhost:8500/v1/kv/traefik/http/services/whoami/loadbalancer/servers/0/url -X PUT -d 'http://172.21.0.2'
curl localhost:8500/v1/kv/traefik/http/routers/kv/rule -X PUT -d 'PathPrefix(`/whoami`)'
curl localhost:8500/v1/kv/traefik/http/routers/kv/service -X PUT -d 'whoami'