Docker ハンズオン演習
ホーム
ホーム
  • 0. ラボの使い方
  • 1. Docker の基本コマンド
  • 2. Docker コンテナの実行
  • 3. Docker イメージのビルド
  • 4. Docker レジストリ
  • 5. Volume
  • 6. ネットワーク
  • 7. Docker Compose

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 を実行します。

完了


チャレンジ完了!

お疲れ様でした!

Prev
6. ネットワーク