シンプルな Docker Compose プロジェクトの準備
このステップでは、シンプルな Docker Compose プロジェクトを準備します。LabEx 環境には Docker Compose がプリインストールされていないため、まずインストールを行います。Docker Compose はマルチコンテナ Docker アプリケーションを定義・実行するためのツールです。Compose では YAML ファイルを使用してアプリケーションのサービスを設定し、単一のコマンドで設定からすべてのサービスを作成・起動できます。
まず、Docker Compose をインストールしましょう。最新の安定版リリースをダウンロードし、実行可能にします。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
インストール後、バージョンを確認してインストールを検証します。
docker-compose --version
出力にバージョン番号が表示されれば、Docker Compose が正しくインストールされたことが確認できます。
次に、シンプルな Docker Compose プロジェクトを作成します。プロジェクト用のディレクトリを作成し、その中にdocker-compose.yml
ファイルを作成します。このファイルではnginx
イメージを使用したシンプルな Web サービスを定義します。
プロジェクトディレクトリに移動します。
cd ~/project
プロジェクト用の新しいディレクトリ(例:my-web-app
)を作成します。
mkdir my-web-app
cd my-web-app
nano
エディタを使用してdocker-compose.yml
ファイルを作成します。
nano docker-compose.yml
docker-compose.yml
ファイルに以下の内容を追加します:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
このdocker-compose.yml
ファイルはweb
という名前の 1 つのサービスを定義しています。このサービスはnginx:latest
Docker イメージを使用し、ホストのポート 80 をコンテナのポート 80 にマッピングします。
Ctrl + X
、次にY
、そしてEnter
を押してファイルを保存します。
これで、docker-compose up
コマンドを使用してdocker-compose.yml
ファイルで定義されたサービスを起動できます。-d
フラグはコンテナをデタッチドモード(バックグラウンド)で実行します。
docker-compose up -d
このコマンドはnginx:latest
イメージを(まだ存在しない場合)プルし、web
サービスのコンテナを起動します。
docker ps
コマンドで実行中のコンテナの状態を確認できます。
docker ps
my-web-app_web_1
(またはディレクトリ名に応じて類似の名前)というコンテナが実行中で、ポート 80 を転送しているのが確認できるはずです。
Web サーバーが実行中か確認するには、curl
でアクセスします。
curl http://localhost
出力に Nginx のデフォルトウェルカムページの HTML が表示されれば、シンプルな Docker Compose プロジェクトが正しくセットアップされ実行されていることが確認できます。