シンプルな docker-compose.yml ファイルの作成
このステップでは、基本的な docker-compose.yml
ファイルを作成します。このファイルは Docker Compose の核心であり、アプリケーションのサービス、ネットワーク、ボリュームを定義します。開始前に、この環境にはプリインストールされていないため 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 --version
コンソールにバージョン情報が表示されれば、Docker Compose が正しくインストールされたことを確認できます。
次に、この実験の作業ディレクトリである ~/project
ディレクトリに移動します。
cd ~/project
このディレクトリに docker-compose.yml
という名前のファイルを作成します。このファイルは nginx
イメージを使用したシンプルなサービスを定義します。ファイルの作成と編集には nano
エディタを使用します。
nano docker-compose.yml
nano
エディタ内で、以下の内容を貼り付けます:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
この docker-compose.yml
ファイルの内容を分解してみましょう:
version: '3.8'
は Docker Compose ファイルフォーマットのバージョンを指定します
services:
はアプリケーションを構成するさまざまなサービスを定義します
web:
は私たちのサービス名です。サービスには任意の名前を付けることができます
image: nginx:latest
はこのサービスで使用する Docker イメージを指定します。ここでは公式 Nginx イメージの最新バージョンを使用しています。このイメージがローカルに存在しない場合、Docker Compose はサービス起動時に自動的に Docker Hub から取得します
ports:
はホストマシンとコンテナ間のポートマッピングを設定します。"80:80"
はホストのポート 80 をコンテナのポート 80 にマッピングします。これにより、ホストマシンで http://localhost
(または VM の IP アドレス)にアクセスすることで、コンテナ内で動作する Nginx Web サーバーにアクセスできます
内容を貼り付けた後、Ctrl + O
を押してファイルを保存し、Enter
でファイル名を確認し、最後に Ctrl + X
を押して nano
エディタを終了します。
これで最初の docker-compose.yml
ファイルが正常に作成されました。次のステップでは、このファイルを使用して Nginx サービスを起動します。