7. Docker Compose
このラボでは Docker のネットワークについて学習します。
テキストを参照しながら各問題にチャレンジしてください。
必要があればウェブで調べても構いません。
ステップ 1: 問題 1
(※ スクリプトの実行が完了してから開始してください)
イメージ redis:alpine を使用して、ネットワーク lab-network に接続された redis という名前のコンテナを detached モードで起動してください。
(lab-network はすでに作成されています)
- コンテナ名:
redis - イメージ:
redis:alpine - ネットワーク:
lab-network
Solution
docker container run -d --name redis --network lab-network redis:alpine コマンドを実行します。
ステップ 2: 問題 2
以下の設定で、ネットワーク lab-network に接続された clickcounter という名前のコンテナを detached モードで起動してください。
- コンテナ名:
clickcounter - イメージ:
qualia906/click-counter - コンテナポート:
5000 - ホストポート:
8085 - ネットワーク:
lab-network
Solution
docker container run -d --name clickcounter -p 8085:5000 --network lab-network qualia906/click-counter コマンドを実行します。
ステップ 3: 問題 3
以下のリンクから clickcounter にアクセスしてアプリケーションが正常に動作しているか確認してください。
ステップ 4: 問題 4
コンテナ redis と clickcounter を削除してください。
Solution
以下を実行します。
docker container stop $(docker container ls -aq)
docker container rm $(docker container ls -aq)
ステップ 5: 問題 5
先ほどと同じ構成のアプリケーションを Docker Compose を使用して作成します。/root/click-counter ディレクトリに docker-compose.yml という名前で Compose ファイルを作成してください。
この Compose ファイルには以下の内容が指定されている必要があります。
redisサービス設定- イメージ:
redis:alpine
- イメージ:
clickcounterサービス設定- イメージ:
qualia906/click-counter - コンテナポート:
5000 - ホストポート:
8085
- イメージ:
注意
docker-compose.ymlの先頭か末尾にversion: '3.7'という行を入れてください。
これは Compose ファイルのバージョンを指定するもので、バージョンによってサポートされている設定オプションに違いがあります。
https://docs.docker.jp/compose/compose-file/compose-versioning.html
Compose V2 がインストールされている環境では Compose ファイルでのバージョン指定は不要ですが、このラボ環境ではバージョン指定が必要です。
テキストで紹介した以下の Compose ファイルを参考に作成してください。
https://github.com/dockersamples/example-voting-app/blob/main/docker-compose.yml
Solution
以下の内容で docker-compose.yml を作成します。
services:
redis:
image: redis:alpine
clickcounter:
image: qualia906/click-counter
ports:
- 8085:5000
version: '3.7'
ステップ 6: 問題 6
作成した docker-compose.yml ファイルを使用して、Docker Compose でアプリケーションを detached モードでデプロイしてください。
注意
このラボ環境では Docker Compose のバージョンの問題でdocker composeコマンドを使用することができません。 かわりに従来のdocker-composeコマンドを使用してください
デプロイが完了したら以下のリンクから clickcounter にアクセスしてアプリケーションが正常に動作しているか確認できます。
Hints
/root/click-counter ディレクトリに移動して docker-compose up コマンドを使用します。
Solution
以下を実行します。
cd /root/click-counter
docker-compose up -d
アプリケーションを一括削除するには、Compose ファイルがあるディレクトリで docker-compose down を実行します。
完了
チャレンジ完了!
お疲れ様でした!