• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here:Home » Traefik : Reverse Proxy for Docker Containers on Ubuntu 16.04

By Abhishek Ghosh September 27, 2017 12:13 pm Updated on September 27, 2017

Traefik : Reverse Proxy for Docker Containers on Ubuntu 16.04

Advertisement

In our previous guides, we focussed on basics around Docker in Docker Tutorials as part 1, part 2, part 3 and part 4. With Traefik, we can manage configuration dynamically. Here is a Guide on How to Install and Configure Traefik as Reverse Proxy for Docker Containers on Ubuntu 16.04. Official Traefik website is here :

Vim
1
https://traefik.io

Of course they have a Docker image too :

Vim
1
https://hub.docker.com/_/traefik/

Traefik - Reverse Proxy for Docker Containers on Ubuntu 16-04

 

Traefik : Reverse Proxy for Docker Containers on Ubuntu 16.04

 

First update and upgrade :

Advertisement

---

Vim
1
2
apt update
apt upgrade

Then install Apache Utilities for easy generation of password :

Vim
1
apt install apache2-utils

Then generate the password with htpasswd. In our below example command, password is your password (which you should change) for the user admin (which you should change) :

Vim
1
htpasswd -nb admin password

You’ll get an encrypted output. Copy-paste and save it. We need to create a configuration file named traefik.toml. We can create it by opening a new file :

Vim
1
nano traefik.toml

We will write this entry :

Vim
1
defaultEntryPoints = ["http", "https"]

Next, we need to configure the way to get access to a dashboard interface. This is where we will need to paste the output from the htpasswd command :

Vim
1
2
3
4
5
6
defaultEntryPoints = ["http", "https"]
 
[web]
address = ":8080"
  [web.auth.basic]
  users = ["admin:your_encrypted_password"]

We will add more entries for the configuration file :

Vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
defaultEntryPoints = ["http", "https"]
 
[web]
address = ":8080"
  [web.auth.basic]
  users = ["admin:your_encrypted_password"]
 
[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
      entryPoint = "https"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
 
[acme]
email = "email@example.com"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
onDemand = false

Next we need to create a Docker network for the proxy to share with containers :

Vim
1
docker network create example1

After starting Traefik container, we will add it to this network. Then you can add your other containers to this network later for Traefik to proxy. Create an empty file for Let’s Encrypt information :

Vim
1
2
touch acme.json
chmod 600 acme.json

Finally you’ll run command to run Traefik where test.yourdomain.com is your subdomain for Traefik :

Vim
1
2
3
4
5
6
7
8
9
10
11
docker run -d
  -v /var/run/docker.sock:/var/run/docker.sock
  -v $PWD/traefik.toml:/traefik.toml
  -v $PWD/acme.json:/acme.json
  -p 80:80
  -p 443:443
  -l traefik.frontend.rule=Host:test.yourdomain.com
  -l traefik.port=8080
  --network proxy
  --name traefik
  traefik:1.3.6-alpine --docker

You will manage web applications with Docker Compose using a docker-compose.yml file:

Vim
1
nano docker-compose.yml

With the content :

Vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
docker-compose.yml
version: "3"
 
networks:
  proxy:
    external: true
  internal:
    external: false
services:
  blog:
    image: wordpress:4.7.5-apache
    environment:
      WORDPRESS_DB_PASSWORD:
    labels:
      - traefik.backend=blog
      - traefik.frontend.rule=Host:blog.yourdomain.com
      - traefik.docker.network=proxy
      - traefik.port=80
    networks:
      - internal
      - proxy
    depends_on:
      - mysql
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD:
    networks:
      - internal
    labels:
      - traefik.enable=false

The above is an example to use WordPress official Docker image. Run this commands substituting with real value :

Vim
1
2
export WORDPRESS_DB_PASSWORD=database_password
export MYSQL_ROOT_PASSWORD=admin_database_password

Now run the containers using docker-compose:

Vim
1
docker-compose up -d

Now if you go to that Traefik subdomain, you’ll see the dashboard. You have to install the web software for other subdomains like you normally do.

Tagged With traefik ubuntu , apt install traefik ubuntu , docker for mac host internal Ubuntu , reverse proxy windows containers , swtting up traefik with reverse proxy on ubuntu 18 04 lts , traefik docker compose , traefik docker windows , traefik docker-compose reverse proxy ubuntu
Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to Traefik : Reverse Proxy for Docker Containers on Ubuntu 16.04

  • How Setup Private Docker Registry on Ubuntu 16.04 LTS Cloud Server

    You Can Have Your Own Docker Registry on Own Cloud Server Instance. Here is How Setup Private Docker Registry on Ubuntu 16.04 LTS Cloud Server.

  • Analysis of Docker in DevOps : Part I

    Analysis of Docker in DevOps is a Series of Articles to Discuss the Solving Problems Arising within DevOps and Possible Fields of Application.

  • Navigating the Benefits of Docker Registry

    Docker Registry is a collection of repositories with indexes, access control rules. API is used by the clients to obtain images from repos.

  • Docker Tutorial For Beginners : Part 4 (docker compose)

    In Part 4 of Docker Tutorial For Beginners, We Will Talk About Docker Compose, Which Peoples Say Containers in Production, docker-compose etc.

performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • Hybrid Multi-Cloud Environments Are Becoming UbiquitousJuly 12, 2023
  • Data Protection on the InternetJuly 12, 2023
  • Basics of BJT TransistorJuly 11, 2023
  • What is Confidential Computing?July 11, 2023
  • How a MOSFET WorksJuly 10, 2023
PC users can consult Corrine Chorney for Security.

Want to know more about us?

Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy