Dockerガイド · 2 min read · Feb 05, 2026
Dockerガイド: Traefikのインストール - マイクロサービスのためのモダンリバースプロキシ

Traefikは、マイクロサービスのためのモダンなHTTPリバースプロキシおよびロードバランサーです。Traefikは、Docker、Swarmモード、Kubernetes、Amazon ECS、Rancher、Etcd、Consulなどの既存のインフラストラクチャコンポーネントと統合されており、すべてのマイクロサービスのデプロイを簡単にします。
Traefikは、すべてのマイクロサービスアプリケーションのルーターとして機能し、すべてのクライアントリクエストを正しいマイクロサービスの宛先にルーティングします。
このチュートリアルでは、Ubuntu 18.04 LTS(Bionic Beaver)上でDockerコンテナとしてTraefikのモダンリバースプロキシをインストールおよび構成する方法をステップバイステップで示します。
前提条件
- Ubuntu 18.04
- ルート権限
何をするか?
- Ubuntu 18.04にDockerをインストール
- Docker Composeをインストール
- カスタムDockerネットワークを作成
- Traefikをインストールおよび構成
- テスト
ステップ1 - Ubuntu 18.04にDockerをインストール
このガイドでは、公式のDockerリポジトリからインストールできる最新のDockerバージョンを使用します。
以下のコマンドを使用して、Dockerのキーとリポジトリを追加します。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"‘add-apt-repository’コマンドは、すべてのリポジトリを自動的に更新します。

次に、最新のdocker-ceをインストールします。
sudo apt install docker-ceインストールが完了したら、Dockerサービスを開始し、システム起動時に毎回起動するように有効にします。
systemctl start docker
systemctl enable dockerDockerコミュニティエディションがUbuntu 18.04システムにインストールされました。インストールされたDockerバージョンを確認します。
docker version
追加: 非ルートユーザーでDockerを実行
Dockerコンテナは、非ルートユーザーの下で実行できます。ユーザーをDockerグループに追加するだけです。
‘mohammad’ユーザーを追加します。
useradd -m -s /bin/bash mohammad次に、’mohammad’ユーザーをDockerグループに追加し、Dockerサービスを再起動します。
usermod -a -G docker mohammad
systemctl restart dockerDocker hello-worldを実行してテストします。
docker run -it hello-world以下が結果です。

ステップ2 - Docker Composeをインストール
Docker-Composeは、マルチコンテナDockerアプリケーションを定義および管理するためのコマンドラインツールです。
Docker ComposeはPythonスクリプトであり、Python pipコマンドまたはUbuntuリポジトリからaptコマンドで簡単にインストールできます。Composeを使用すると、単一のコマンドで複数のDockerコンテナを実行できます。
以下のaptコマンドを使用してリポジトリからDocker Composeをインストールします。
sudo apt install docker-composeインストールが完了したら、Docker Composeのバージョンを確認します。
docker-compose versionDocker Compose 1.17がUbuntu 18.04にインストールされました。

ステップ3 - カスタムDockerネットワークを作成
このチュートリアルでは、TraefikコンテナはDockerカスタムネットワーク上で実行されます。したがって、サーバー上に新しいDockerカスタムネットワークを作成する必要があります。
システム上の利用可能なDockerネットワークを確認します。
docker network ls次に、Traefikコンテナ用の’proxy’という名前の新しいカスタムネットワークを作成します。
docker network create proxyすると、ネットワークコンテナ名のランダムな文字列が得られます。再度、利用可能なネットワークを確認します。
docker network ls以下が結果です。

Traefik用の’proxy’という名前のカスタムDockerネットワークが作成されました。
ステップ4 - Traefikリバースプロキシをインストールおよび構成
このステップでは、HTTPS letsencryptを有効にしたTraefikコンテナを作成します(ドメイン名は’traefik.hakase-labs.io’)、およびHTTPをHTTPSに自動的にリダイレクトします。
Traefikの事前インストール
すべてのTraefik設定を作成する前に、暗号化されたhtpasswdパスワードを生成し、新しいTraefikディレクトリを作成するために’apache2-utils’をインストールする必要があります。
以下のaptコマンドを使用して’apache2-utils’をインストールします。
sudo apt install apache2-utils -y次に、以下のhtpasswdコマンドを実行して、Traefikダッシュボード認証用の新しいパスワードを生成します。
htpasswd -nb mohammad password結果をメモしておきます。
mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.
次に、’mohammad’ユーザーにログインします。
su - mohammadすべてのTraefik設定用に’traefik’という名前の新しいディレクトリを作成します。
mkdir -p traefik/
cd traefik/Traefik設定の作成
‘traefik’ディレクトリに移動し、vimエディタを使用して新しい設定ファイル’traefik.toml’を作成します。
cd traefik/
vim traefik.toml以下の設定を貼り付けます。
#Traefik Global Configuration
debug = false
checkNewVersion = true
logLevel = "ERROR"
#HTTPとHTTPSのEntryPointを定義
defaultEntryPoints = ["https","http"]
#ポート8080でTraefikダッシュボードを有効にする
#基本認証方式を使用
#ユーザー名:mohammad、パスワード
[web]
address = ":8080"
[web.auth.basic]
users = ["mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi."]
#HTTPポート80と
#HTTPSポート443のEntryPointを定義
#HTTPをHTTPSに自動的にリダイレクトを有効にする
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
#ネットワークエラーが発生した場合にリクエストを再送信を有効にする
[retry]
#Dockerバックエンド設定を定義
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "traefik.hakase-labs.io"
watch = true
exposedbydefault = false
#Letsencrypt登録
#Letsencrypt ACME HTTPチャレンジを定義
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"保存して終了します。
注意:
設定に関するすべての情報は、コメントセクション’ #… ‘にあります。
Traefik Docker Composeスクリプトの作成
次に、docker-compose ymlスクリプトを作成します。
vim docker-compose.yml以下の設定を貼り付けます。
version: '3'
services:
traefik:
image: traefik:latest
command: --docker --docker.domain=hakase-labs.io
ports:
- 80:80
- 443:443
networks:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/traefik.toml
- ./acme.json:/acme.json
labels:
- "traefik.frontend.rule=Host:traefik.hakase-labs.io"
- "traefik.port=8080"
container_name: traefik
restart: always
networks:
proxy:
external: true保存して終了します。
注意:
- ‘traefik:latest’ Dockerイメージに基づいて、新しいコンテナ’ traefik’を作成しています。
- ‘traefik’コンテナは、’proxy’という名前のカスタムDockerネットワーク上で実行され、外部ポートHTTP 80およびHTTPS 443を公開します。
- コンテナは、Traefik設定’ traefik.toml’および’acme.json’をマウントし、Dockerソックファイルも含まれます。
- Traefikのラベル設定、フロントエンドドメイン名、およびTraefikポート。
Letsencrypt ACME設定
‘traefik.toml’のacme設定は、SSL letsencryptを自動的に生成するために使用されます。また、ストレージファイル’acme.json’が必要です。
新しいJSONファイル’acme.json’を作成し、パーミッションを’600’に変更します。
touch acme.json
chmod 600 acme.jsonSSL letsencrypt情報に関するすべてのログは、このファイルに保存されます。
Traefikコンテナのビルド
これで、上記の設定ファイルを使用して独自のTraefikコンテナをビルドする準備が整いました。
cd traefik/
ls -lahすべての設定ファイル’traefik.toml’、’docker-compose.yml’、および’acme.json’。

以下のDocker Composeコマンドを使用してコンテナをビルドします。
docker-compose up -d完了したら、実行中のコンテナを確認します。
docker-compose psこれで、Traefikコンテナが起動し、外部ポートHTTPおよびHTTPSを公開しています。
ステップ5 - テスト
ウェブブラウザを開き、アドレスバーにTraefikのドメイン名を入力します。私のは:
http://traefik.hakase-labs.io/
HTTPS接続にリダイレクトされ、ユーザー名とパスワードの認証を求められます。
ユーザー’mohammad’でログインし、パスワードは’password’です。
以下のようにTraefikダッシュボードが表示されます。

Traefikのヘルスステータスページ。

TraefikのモダンなHTTPリバースプロキシが、Ubuntu 18.04上にDockerコンテナとしてインストールされました。
参考
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。