├── .gitignore ├── README.md ├── documentation ├── graphs │ ├── README.md │ └── traefik-container-intercommunication.xml └── images │ ├── Atlassian_Confluence_Logo.svg │ ├── keycloak_logo_480x108.png │ ├── traefik-container-intercommunication.png │ └── traefik.logo.png ├── traefik-container-communication.iml ├── traefik ├── .env ├── docker-compose.yml ├── ssl │ ├── traefik.crt │ └── traefik.key └── traefik.toml ├── web1 ├── .env ├── build │ └── Dockerfile ├── docker-compose.yml └── html │ └── index.html └── web2 ├── .env ├── build └── Dockerfile ├── docker-compose.yml └── html └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | [traefik](https://traefik.io/) is a convenient way to have a reverse proxy in your Docker setup. 4 | 5 | Docker containers hosting web applications or webservices can register in traefik 6 | and traefik does routing, load-balancing, ssl termination and HTTP/2 for you out 7 | of the box. 8 | 9 | This works smoothly but we had the following setup: 10 | 11 | ![treafik setup](documentation/images/traefik-container-intercommunication.png) 12 | 13 | We took a Atlassian confluence Wiki setup having it's own docker-compose.yml, a 14 | keycloak WebSSO having it's own docker-compose.yml and traefik having it's own 15 | docker-compose.yml. 16 | 17 | When using keycloak and confluence the following happenes: 18 | 1. the user opens confluence in the browser 19 | 2. confluence recognizes authentication is required and redirects to keycloak 20 | 3. keycloak does the authentication and redirects back to confluence 21 | 4. confluence decides if the user is authorized to see content 22 | 23 | In this flow cconfluence needs to know keycloak and vice versa. As traefik does the 24 | SSL termination for us the direct communication between both containers is not sufficient 25 | and traefik needs to do the routing. 26 | 27 | # Challenge 28 | 29 | As each application complex (traefik, confluence, keycloak) is connected to a virtual 30 | network the applications can communicate, but Docker uses it's own internal DNS service 31 | andd ignores i.e. settings in the hosts file. 32 | 33 | The consequence is in the containers the full qualified name (FQDN) of the applications 34 | is not known and only configured in traefik. 35 | 36 | # Solution 37 | 38 | There are three approaches to make the FQDNs known in the containers. 39 | 40 | ## Add host entry to container 41 | 42 | In the docker-compose.yml there can be additional settings given for the container's 43 | hosts file, this is done in the `extra_hosts` part of the service: 44 | 45 | ``` 46 | version: "3" 47 | services: 48 | confluence: 49 | ... 50 | extra_hosts: 51 | - "keycloak.my.domain:172.0.0.6" (internal IP of the traefik container) 52 | ... 53 | ``` 54 | 55 | Docker adds the additional setting in the hosts file and confluence now can use the 56 | FQDN to access keycloak. 57 | 58 | A drawback is we need to give a static IP which points to traefik, which is not very handy. 59 | 60 | ## Set DNS server 61 | 62 | By default Docker uses the Google's DNS server to resolve any host which can't be 63 | resolved by the internal DNS. 64 | 65 | If you use a DNS server in your network where all FQDNs hosted in Docker points to the 66 | Docker host (we only have a single Docker host), then you can configure docker-compose to 67 | set this DNS server in the container. 68 | 69 | ``` 70 | version: "3" 71 | services: 72 | confluence: 73 | ... 74 | dns: 75 | - 192.168.10.11 (IP of your DNS server) 76 | ... 77 | ``` 78 | 79 | A drawback is the central DNS server prohibits local development. 80 | 81 | ## Set container alias names 82 | 83 | By default the used names in the Docker integrated DNS Server is the container name. 84 | 85 | To route all requests to traefik, traefik needs to have all alias names set. This is 86 | done in the `network` settings. 87 | 88 | ```yaml 89 | version: "3" 90 | services: 91 | traefik: 92 | ... 93 | networks: 94 | proxy: 95 | aliases: 96 | - keycloak.my.domain 97 | - confluence.my.domain 98 | ... 99 | ``` 100 | 101 | For local development this seems to be the most elegant solution but if you add a 102 | new web application which needs to be handled by traefik. 103 | 104 | # Demo application 105 | 106 | For demonstration purposes we created a small setup which is similar to the described 107 | traefik, confluence and keycloak setup. 108 | 109 | In the demo setup confluence and keycloak are replaced by nginx. 110 | 111 | ## Setup 112 | 113 | To run the demo application you need to have Docker and docker-compose installed. 114 | 115 | ### Hosts settings 116 | 117 | To make the web applications accessible you need to add the following entries to 118 | your local machine. 119 | 120 | ``` 121 | 127.0.0.1 traefik.flex-guse.de 122 | 127.0.0.1 web1.flex-guse.de 123 | 127.0.0.1 web2.flex-guse.de 124 | ``` 125 | 126 | The IP is working if you use Windows 10 Pro with Docker installed. In every other case 127 | you need to replace the IP with the IP of your Docker host machine. 128 | 129 | ## Startup 130 | 131 | ### traefik 132 | Give the command `docker-compose up -d` in the folder `/traefik` to start traefik. 133 | 134 | ### application web1 135 | The web1 application uses a custom dockerfile. To build the Docker image switch into the 136 | folder `/web1` and give `docker-compose build`. 137 | 138 | To start the container use the command `docker-compose up -d`. 139 | 140 | ### application web2 141 | The web1 application uses a custom dockerfile. To build the Docker image switch into the 142 | folder `/web2` and give `docker-compose build`. 143 | 144 | To start the container use the command `docker-compose up -d`. 145 | 146 | ## Communication test 147 | 148 | Test the routing from web1 to web2: 149 | ```bash 150 | docker exec -it web1 sh -c "curl -k -v https://web2.flex-guse.de" 151 | ``` 152 | 153 | Test the routing from web2 to web1: 154 | ```bash 155 | docker exec -it web2 sh -c "curl -k -v https://web1.flex-guse.de" 156 | ``` 157 | 158 | In both cases a HTML response is expected. As no nginx web application provides a 159 | SSL certificate (traefik is the SSL endpoint), the response must be given by the 160 | traefik route. -------------------------------------------------------------------------------- /documentation/graphs/README.md: -------------------------------------------------------------------------------- 1 | All graphs were created using [draw.io](https://www.draw.io). -------------------------------------------------------------------------------- /documentation/graphs/traefik-container-intercommunication.xml: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /documentation/images/Atlassian_Confluence_Logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 13 | 17 | 22 | 24 | 28 | 33 | 37 | 42 | 47 | 48 | 53 | 54 | 67 | 75 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /documentation/images/keycloak_logo_480x108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flexguse/traefik-inter-container-routing/7830f280b22dfd07dc17dd7159ccfa62fd198c42/documentation/images/keycloak_logo_480x108.png -------------------------------------------------------------------------------- /documentation/images/traefik-container-intercommunication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flexguse/traefik-inter-container-routing/7830f280b22dfd07dc17dd7159ccfa62fd198c42/documentation/images/traefik-container-intercommunication.png -------------------------------------------------------------------------------- /documentation/images/traefik.logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flexguse/traefik-inter-container-routing/7830f280b22dfd07dc17dd7159ccfa62fd198c42/documentation/images/traefik.logo.png -------------------------------------------------------------------------------- /traefik-container-communication.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /traefik/.env: -------------------------------------------------------------------------------- 1 | COMPOSE_CONVERT_WINDOWS_PATHS=1 -------------------------------------------------------------------------------- /traefik/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | traefik: 4 | image: traefik 5 | container_name: traefik 6 | restart: always 7 | command: --web --docker --logLevel=DEBUG 8 | networks: 9 | proxy: 10 | aliases: 11 | - web1.flex-guse.de 12 | - web2.flex-guse.de 13 | ports: 14 | - "80:80" 15 | - "443:443" 16 | volumes: 17 | - /var/run/docker.sock:/var/run/docker.sock 18 | - ./traefik.toml:/traefik.toml 19 | - ./ssl:/ssl 20 | labels: 21 | - "traefik.port=8080" 22 | - "traefik.docker.network=traefik_proxy" 23 | - "traefik.frontend.rule=Host:traefik.flex-guse.de" 24 | 25 | networks: 26 | proxy: 27 | driver: bridge -------------------------------------------------------------------------------- /traefik/ssl/traefik.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIF2zCCA8OgAwIBAgIJANS4Hwj0nlYwMA0GCSqGSIb3DQEBCwUAMIGDMQswCQYD 3 | VQQGEwJERTEMMAoGA1UECAwDTlJXMRIwEAYDVQQHDAlBdHRlbmRvcm4xETAPBgNV 4 | BAoMCGZsZXhndXNlMR0wGwYDVQQDDBR0cmFlZmlrLmZsZXgtZ3VzZS5kZTEgMB4G 5 | CSqGSIb3DQEJARYRaW5mb0BmbGV4LWd1c2UuZGUwHhcNMTcwOTI4MTk0ODM1WhcN 6 | MjcwOTI2MTk0ODM1WjCBgzELMAkGA1UEBhMCREUxDDAKBgNVBAgMA05SVzESMBAG 7 | A1UEBwwJQXR0ZW5kb3JuMREwDwYDVQQKDAhmbGV4Z3VzZTEdMBsGA1UEAwwUdHJh 8 | ZWZpay5mbGV4LWd1c2UuZGUxIDAeBgkqhkiG9w0BCQEWEWluZm9AZmxleC1ndXNl 9 | LmRlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvCctzcnSvvedN8VW 10 | Xy9Km3iMxjWel1xaPWY+9KzWq+gR885dCsCTADvUjqCa62eSCBGvE7nVHF+t5Uaq 11 | O9VMdv/UaPZq176R2hC8HB0Jl0t4HHoBHXSfLXUSaEzsq7/OS+/ytYpZhd67+PR7 12 | SOr2H1eh/zUIl6/yyrj45lrxeC1ZLTShXOJwYYiy1FmNFn94ERJ9t1MUSIEdXcFz 13 | HiW5bI6wyb9wVUCvfkevHHc2IuURc8idVSa8WyQY7wSbpvwDFRHbmTaHsdNmIbrP 14 | TDz5xwzGgydg6DK9JXOR9UsZwSy9fw3PULB9s2daANQ+38aRL6xqhmS2KlDvgXTc 15 | ichcC+74NH5EsavRO1hLv3pHHHBNPxo53kwxGO8dCrDkKe2p+5YHMezP83JIFFBH 16 | DYa6ct9pnAqysFFMOPIx/3Oufu7IkUzN2A6HMHQbH1xxfZadnetaHI1SMArtJ/vi 17 | cPvF/17skpGO/WK4YCQXJBQ46KGBH3zpp+Z5IetO/RPw1BLkhJaYGrUEc6JhM31b 18 | uX3+4Of/XZ1ZiJE8yx34lN48N79jsAEx5obQGyofrLRvOgiCXky27APEHvaVZfT5 19 | 8CTmN33MdD4ZsWM89+6lFo5pbnJxqqM/gPK/IuKGHP0sSWLk8yJyhrD04lMMKHVx 20 | tFF7ExpQ958ZttbnRCZltlz5IoMCAwEAAaNQME4wHQYDVR0OBBYEFPnhff2VfNEK 21 | NigQq+UiQg/E4JB+MB8GA1UdIwQYMBaAFPnhff2VfNEKNigQq+UiQg/E4JB+MAwG 22 | A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAKmAWYR/cGX/WtzP+6JzNsKA 23 | H5PMw3bcKnACiKuGbsVsKA4g+gdWL882xn5LBZEG+vtnqok9kAS40ZhqXVaZSij1 24 | XAG0w9cNpKFBMULOAys0sEQlPS+BZkojnDRbYQZsDkK3aJTbJoVSZy3/snsZaClo 25 | CjmW928CBgEigKKCJmTUBdgeCvNGAn5I7s4S3E7r4qVuVkLwijYT7IFbMZLnlbUp 26 | vyidWSj2lioFvb8UOu4cSwPNhbbOvf+2UQwPGbNPPRHdg/5c9sX/XtASc3SFsSue 27 | PPN21EkN/MPDB6eQVT5NPxzm4Nr44hZcpJtBXBkNCdczHqCqd/sS8E6mZCBiRVfa 28 | 4RJAAIfTBwHp/s9D98Iy2lfFjH/CcDWTFGb+dfZvRopt1yJOtPzYpoKEfT8hCWuP 29 | moFJGUb5gEfikbn0QSocsWAQDwbQhyMyFpJdQk8UH73zFWeNv2VOXgf4i5vMug5b 30 | r7wmYnhEIWw56iVCEIvZeJnFnGgWQVdpe1VrewZe1qy6QPgFwBKTY+v1USGRMwPO 31 | qSlesDhxkRmuVhV4qwoBYZFJ6T5DcuwvB12YRRXOHwdxGJj5cLGUBcneTlRo0aAO 32 | pfmP1m/vE+aStAr4ElQ6X+ODzb/oLZNLS+KGweEX3VccLLdzb5DtkBCH2wDtyJBF 33 | VpK6avW1tBNA91Mw6T3g 34 | -----END CERTIFICATE----- 35 | -------------------------------------------------------------------------------- /traefik/ssl/traefik.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | 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 51 | nEdySIt0giRq5n7E8oMQjTiPx1gKKso= 52 | -----END PRIVATE KEY----- 53 | -------------------------------------------------------------------------------- /traefik/traefik.toml: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # Global configuration 3 | ################################################################ 4 | 5 | # Enable debug mode 6 | # 7 | # Optional 8 | # Default: false 9 | # 10 | # debug = true 11 | 12 | # Log level 13 | # 14 | # Optional 15 | # Default: "ERROR" 16 | # 17 | # logLevel = "ERROR" 18 | 19 | # Entrypoints to be used by frontends that do not specify any entrypoint. 20 | # Each frontend can specify its own entrypoints. 21 | # 22 | # Optional 23 | # Default: ["http"] 24 | # 25 | defaultEntryPoints = ["http", "https"] 26 | 27 | # Entrypoints definition 28 | # 29 | # Optional 30 | # Default: 31 | [entryPoints] 32 | [entryPoints.http] 33 | address = ":80" 34 | [entryPoints.http.redirect] 35 | entryPoint = "https" 36 | [entryPoints.https] 37 | address = ":443" 38 | [entryPoints.https.tls] 39 | [[entryPoints.https.tls.certificates]] 40 | certFile = "/ssl/traefik.crt" 41 | keyFile = "/ssl/traefik.key" 42 | 43 | # Traefik logs 44 | # Enabled by default and log to stdout 45 | # 46 | # Optional 47 | # 48 | # [traefikLog] 49 | 50 | # Sets the filepath for the traefik log. If not specified, stdout will be used. 51 | # Intermediate directories are created if necessary. 52 | # 53 | # Optional 54 | # Default: os.Stdout 55 | # 56 | # filePath = "log/traefik.log" 57 | 58 | # Format is either "json" or "common". 59 | # 60 | # Optional 61 | # Default: "common" 62 | # 63 | # format = "common" 64 | 65 | # Enable access logs 66 | # By default it will write to stdout and produce logs in the textual 67 | # Common Log Format (CLF), extended with additional fields. 68 | # 69 | # Optional 70 | # 71 | # [accessLog] 72 | 73 | # Sets the file path for the access log. If not specified, stdout will be used. 74 | # Intermediate directories are created if necessary. 75 | # 76 | # Optional 77 | # Default: os.Stdout 78 | # 79 | # filePath = "/path/to/log/log.txt" 80 | 81 | # Format is either "json" or "common". 82 | # 83 | # Optional 84 | # Default: "common" 85 | # 86 | # format = "common" 87 | 88 | ################################################################ 89 | # Web configuration backend 90 | ################################################################ 91 | 92 | # Enable web configuration backend 93 | [web] 94 | 95 | # Web administration port 96 | # 97 | # Required 98 | # 99 | address = ":8080" 100 | 101 | ################################################################ 102 | # Docker configuration backend 103 | ################################################################ 104 | 105 | # Enable Docker configuration backend 106 | [docker] 107 | 108 | # Docker server endpoint. Can be a tcp or a unix socket endpoint. 109 | # 110 | # Required 111 | # Default: "unix:///var/run/docker.sock" 112 | # 113 | # endpoint = "tcp://10.10.10.10:2375" 114 | 115 | # Default domain used. 116 | # Can be overridden by setting the "traefik.domain" label on a container. 117 | # 118 | # Optional 119 | # Default: "" 120 | # 121 | # domain = "docker.localhost" 122 | 123 | # Expose containers by default in traefik 124 | # 125 | # Optional 126 | # Default: true 127 | # 128 | # exposedbydefault = true -------------------------------------------------------------------------------- /web1/.env: -------------------------------------------------------------------------------- 1 | COMPOSE_CONVERT_WINDOWS_PATHS=1 -------------------------------------------------------------------------------- /web1/build/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx:alpine 2 | 3 | RUN apk add --update curl && \ 4 | rm -rf /var/cache/apk/* -------------------------------------------------------------------------------- /web1/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | web: 4 | build: 5 | context: build 6 | container_name: web1 7 | restart: always 8 | networks: 9 | - traefik_proxy 10 | labels: 11 | - "traefik.docker.network=traefik_proxy" 12 | - "traefik.frontend.rule=Host:web1.flex-guse.de" 13 | volumes: 14 | - ./html:/usr/share/nginx/html 15 | networks: 16 | traefik_proxy: 17 | external: true -------------------------------------------------------------------------------- /web1/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Web 1 6 | 7 | 8 |

Hello World from Web1!

9 | 10 | -------------------------------------------------------------------------------- /web2/.env: -------------------------------------------------------------------------------- 1 | COMPOSE_CONVERT_WINDOWS_PATHS=1 -------------------------------------------------------------------------------- /web2/build/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx:alpine 2 | 3 | RUN apk add --update curl && \ 4 | rm -rf /var/cache/apk/* -------------------------------------------------------------------------------- /web2/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | web: 4 | build: 5 | context: "build" 6 | container_name: web2 7 | restart: always 8 | networks: 9 | traefik_proxy 10 | labels: 11 | - "traefik.docker.network=traefik_proxy" 12 | - "traefik.frontend.rule=Host:web2.flex-guse.de" 13 | volumes: 14 | - ./html:/usr/share/nginx/html 15 | networks: 16 | traefik_proxy: 17 | external: true -------------------------------------------------------------------------------- /web2/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Web 2 6 | 7 | 8 |

Hello World from Web2!

9 | 10 | --------------------------------------------------------------------------------