簡単な Docker Compose プロジェクトの作成
Docker Compose が正しくインストールされ、動作するようになったので、セットアップをテストするための簡単なプロジェクトを作成しましょう。Web サーバーと Redis データベースを備えた基本的な Web アプリケーションを作成します。
プロジェクトディレクトリの作成
まず、プロジェクト専用のディレクトリを作成しましょう。
mkdir ~/project/docker-compose-test
cd ~/project/docker-compose-test
Docker Compose ファイルの作成
次に、nano テキストエディタを使用して docker-compose.yml ファイルを作成しましょう。
nano docker-compose.yml
次の内容をファイルにコピーして貼り付けます。
version: "3"
services:
web:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
redis:
image: redis:alpine
この Docker Compose ファイルは、2 つのサービスを定義しています。
web: ローカルディレクトリからコンテンツを提供する Nginx Web サーバー
redis: キャッシュまたはセッションデータを保存するための Redis データベース
Ctrl+O を押して Enter キーを押し、ファイルを保存し、Ctrl+X を押して nano を終了します。
HTML コンテンツの作成
Web サービスが提供する簡単な HTML ページを作成しましょう。
mkdir -p html
nano html/index.html
次の内容をファイルにコピーして貼り付けます。
<!DOCTYPE html>
<html>
<head>
<title>Docker Compose Test</title>
</head>
<body>
<h1>Hello from Docker Compose!</h1>
<p>If you can see this, your Docker Compose setup is working correctly.</p>
</body>
</html>
Ctrl+O を押して Enter キーを押し、ファイルを保存し、Ctrl+X を押して nano を終了します。
Docker Compose プロジェクトの実行
次に、Docker Compose プロジェクトを開始しましょう。
docker-compose up -d
-d フラグは、コンテナをバックグラウンドで実行します(デタッチモード)。次のような出力が表示されるはずです。
Creating network "docker-compose-test_default" with the default driver
Pulling web (nginx:alpine)...
Pulling redis (redis:alpine)...
[...]
Creating docker-compose-test_web_1 ... done
Creating docker-compose-test_redis_1 ... done
サービスの検証
サービスが正しく実行されていることを確認しましょう。
docker-compose ps
次のような出力が表示されるはずです。
Name Command State Ports
------------------------------------------------------------------------------------
docker-compose-test_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
docker-compose-test_web_1 /docker-entrypoint.sh ngin ... Up 0.0.0.0:8080->80/tcp
Web アプリケーションへのアクセス
これで、LabEx インターフェースで Web ブラウザを開き、http://localhost:8080 に移動して、Web アプリケーションにアクセスできます。「Hello from Docker Compose!」メッセージが表示されるはずです。
または、curl を使用して、コマンドラインから Web サーバーを確認することもできます。
curl http://localhost:8080
先ほど作成した HTML コンテンツが表示されるはずです。
Docker Compose プロジェクトの停止
テストが完了したら、Docker Compose プロジェクトを停止できます。
docker-compose down
次のような出力が表示されるはずです。
Stopping docker-compose-test_web_1 ... done
Stopping docker-compose-test_redis_1 ... done
Removing docker-compose-test_web_1 ... done
Removing docker-compose-test_redis_1 ... done
Removing network docker-compose-test_default
おめでとうございます!Docker Compose を正常にインストールし、「command not found」エラーを解決し、簡単なマルチコンテナアプリケーションでセットアップをテストしました。