サンプル Compose プロジェクトの開始
このステップでは、サンプルの Compose プロジェクトを開始する方法を学びます。Docker Compose を使用する前に、まずインストールする必要があります。LabEx VM 環境には Docker Compose がプリインストールされていないため、最初にインストールを行います。
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 のバージョンを確認することでインストールを検証できます。
docker-compose --version
コンソールにバージョン情報が表示され、Docker Compose が正しくインストールされたことが確認できます。
次に、簡単な Compose プロジェクトを作成しましょう。プロジェクト用のディレクトリを作成し、その中にdocker-compose.yml
ファイルを作成します。このファイルはアプリケーションのサービスを定義します。
まず、my-compose-app
という名前のディレクトリを作成します。
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
次に、nano
エディタを使用して~/project/my-compose-app
ディレクトリ内にdocker-compose.yml
ファイルを作成します。
nano docker-compose.yml
以下の内容をdocker-compose.yml
ファイルに追加します。このファイルはnginx
イメージを使用するweb
という単一のサービスを定義しています。
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
ファイルを保存し、nano
エディタを終了します(Ctrl + X
、次にY
、そしてEnter
を押します)。
サービスを開始する前に、nginx:latest
イメージがローカルで利用可能であることを確認する必要があります。docker pull
コマンドを使用してイメージをプルできます。
docker pull nginx:latest
docker-compose.yml
ファイルと必要なイメージが用意できたので、docker-compose up
コマンドを使用して Compose プロジェクトを開始できます。-d
フラグはサービスをデタッチモードで実行し、バックグラウンドで動作させます。
docker-compose up -d
このコマンドは、docker-compose.yml
ファイルで定義されたweb
サービスを作成して開始します。サービスが作成され、開始されていることを示す出力が表示されるはずです。
サービスが実行中であることを確認するには、docker ps
コマンドを使用して実行中のコンテナをリスト表示します。web
サービスのコンテナが表示されるはずです。
docker ps
また、Web ブラウザを開いて LabEx VM の IP アドレスにアクセスすることで、Nginx Web サーバーにアクセスできます。コンテナのポート 80 をホストのポート 80 にマッピングしたため、デフォルトの Nginx ウェルカムページが表示されるはずです。