シンプルな docker-compose.yml ファイルの作成
このステップでは、シンプルな docker-compose.yml
ファイルを作成します。Docker Compose は、マルチコンテナ Docker アプリケーションを定義および実行するためのツールです。Compose では YAML ファイルを使用してアプリケーションのサービスを設定し、単一のコマンドで設定からすべてのサービスを作成・起動できます。
docker-compose.yml
ファイルを作成する前に、Docker Compose をインストールする必要があります。LabEx 環境にはプリインストールされていないため、pip
を使用してインストールします。
まず、パッケージリストを更新し、pip
がインストールされていない場合はインストールします。
sudo apt update
sudo apt install -y python3-pip
次に、pip
を使用して Docker Compose をインストールします。
pip install docker-compose
インストールが完了したら、Docker Compose のバージョンを確認してインストールを検証できます。
docker-compose --version
docker-compose version 1.29.2, build 5becea4c
のような出力が表示されるはずです。
Docker Compose がインストールされたので、プロジェクト用のディレクトリを作成し、その中に移動します。このディレクトリ内に docker-compose.yml
ファイルを作成します。
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
次に、nano
エディタを使用して docker-compose.yml
ファイルを作成します。
nano docker-compose.yml
nano
エディタ内に以下の内容を貼り付けます。この docker-compose.yml
ファイルは、nginx
イメージを使用し、コンテナのポート 80 をホストマシンのポート 8080 にマッピングする web
という単一のサービスを定義しています。
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "8080:80"
このファイルの内容を分解してみましょう:
version: '3.8'
- Compose ファイルフォーマットのバージョンを指定
services:
- アプリケーションを構成するさまざまなサービスを定義
web:
- サービスの名前(任意の名前を選択可能)
image: nginx:latest
- このサービスで使用する Docker イメージ(最新版の公式 Nginx イメージ)
ports:
- ホストとコンテナ間のポートマッピング
- "8080:80"
- コンテナ内のポート 80(Nginx のデフォルトポート)をホストのポート 8080 にマッピング。これにより、Web ブラウザで http://localhost:8080
にアクセス(またはターミナルから curl
を使用)して Nginx Web サーバーにアクセス可能
ファイルを保存するには、Ctrl + X
、次に Y
、そして Enter
を押します。
cat
コマンドを使用してファイルの内容を確認できます。
cat docker-compose.yml
貼り付けた YAML コンテンツが表示されるはずです。