シンプルな 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 コンテンツが表示されるはずです。