Table of Contents
Setting Up Traefik Proxy with Docker Compose: A Step-by-Step Guide
Author

Date

Book a call
In this post, I'll show you how to install Traefik Proxy — the cloud native application proxy in our Docker Compose file and utilize it in our architecture with a sample service container. Traefik Proxy was discussed in my previous post — How much do you know "Traefik" proxy?
As a baseline, I'm assuming you're familiar with Docker and Docker Compose files.
Let's get started —
Docker Compose
- Add the following content to your
docker-compose.ymlfile
Details (of the content mentioned in Docker Compose file)
- Replace
localhostwith your own domain or sub-domain in service containerwhoami - Run
docker-compose.ymlfile by using the commanddocker-compose up -d - Your server should be up and running. Visiting
http://localhost:1337/whoami, will show you all request headers - I'm using Traefik's whoami service as an example, it is a tiny Go server that prints os information and HTTP request to output
- The above mini snapshot shows how we define entry point in Traefik
- This allows us to "open and accept" HTTP traffic
- The above mini snapshot shows how we configure & expose Traefik's API and Dashboard.
- By default, Traefik will listen on port 8080 for API requests
- This is a fully optional step; we may disable the Dashboard and secure APIs if you do not want to.
- To enable and customise the log and it's level, we can use the command as mentioned above
- Accepted values, in order of severity -
DEBUG,INFO,WARN,ERROR,FATAL&PANIC
- To enable docker as a providers for Traefik configuration, we set the value as true against
providers.docker - If we want to enable all the service containers within the docker-compose file, we can set the value as true against
providers.docker.exposedbydefault - But, I'd recommend to not expose all service containers unless really needed
- If choose to not explicitly expose all your service containers, then you'd need to enable each container service by setting
traefik.enableas true - To allow request only from your predefined entry point, we set
traefik.http.routes.whoami.entrypointwith the name value we defined in ourtraefikservice - in our case, it is web
Screenshots
Traefik Dashboard

Traefik Dashboard's Routers List

Whoami Service Container

Summary
After reading this article, you will have a fundamental grasp on how to setup Traefik Proxy in your Docker Compose with a service.
And I strongly advise everyone to have the "traefik/whoami" service container ready for debugging request headers if something goes wrong.
Source: This blog is authored by Faiz Ahmed, Principal Technical Consultant at GeekyAnts. Originally published on Hashnode: Read here.





