シンプルな docker-compose.yml ファイルの作成
このステップでは、シンプルなdocker-compose.yml
ファイルを作成します。開始する前に、Docker Compose をインストールする必要があります。Docker Compose は、マルチコンテナの Docker アプリケーションを定義・実行するためのツールです。Compose では、YAML ファイルを使用してアプリケーションのサービスを設定し、単一のコマンドで設定からすべてのサービスを作成・起動できます。
まず、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 version v2.20.2
のような出力が表示されるはずです。
次に、プロジェクト用のディレクトリを作成し、その中に移動します。
mkdir my-docker-app
cd my-docker-app
my-docker-app
ディレクトリ内に、docker-compose.yml
という名前のファイルを作成します。このファイルはアプリケーションのサービスを定義します。nano
エディタを使用してこのファイルを作成・編集します。
nano docker-compose.yml
nano
エディタで、以下の内容を貼り付けます。このdocker-compose.yml
ファイルは、nginx:latest
イメージを使用するweb
という単一のサービスを定義しています。
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
このファイルの内容を分解してみましょう:
version: '3.8'
- Docker Compose ファイルフォーマットのバージョンを指定
services:
- アプリケーションを構成するサービスを定義
web:
- サービス名
image: nginx:latest
- このサービスで使用する Docker イメージを指定(最新版の Nginx イメージを使用)
ports:
- ホストとコンテナ間のポートマッピング。"80:80"
はホストのポート 80 をコンテナのポート 80 にマッピング
内容を貼り付けた後、Ctrl + X
、次にY
、最後にEnter
を押してファイルを保存します。
サービスを起動する前に、nginx:latest
イメージがローカルに存在することを確認する必要があります。存在しない場合、Docker Compose はサービス起動時に自動的にイメージをプルしますが、docker pull
コマンドで手動でプルすることもできます。
docker pull nginx:latest
このコマンドは、Docker Hub からnginx:latest
イメージをダウンロードします。