複数サービスを含むシンプルな Compose ファイルの準備
このステップでは、複数のサービスを定義したシンプルな Docker Compose ファイルを準備します。Docker Compose は、マルチコンテナの Docker アプリケーションを定義・実行するためのツールです。この VM には Docker がプリインストールされていますが、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 が正しくインストールされたことが確認できます。
次に、プロジェクト用のディレクトリを作成し、移動します。
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
このディレクトリ内にdocker-compose.yml
ファイルを作成します。このファイルでサービスを定義します。nano
エディタを使用してファイルを作成・編集します。
nano docker-compose.yml
nano
エディタ内で、以下の内容を貼り付けます。このファイルはweb
とredis
の 2 つのサービスを定義しています。web
サービスはnginx
イメージを使用し、コンテナのポート 80 をホストのポート 8080 にマッピングします。redis
サービスはredis
イメージを使用します。
version: "3.8"
services:
web:
image: nginx
ports:
- "8080:80"
redis:
image: redis
内容を貼り付けた後、Ctrl + X
、次にY
、最後にEnter
を押してファイルを保存します。
サービスを起動する前に、docker-compose.yml
ファイルで定義されたイメージをプルする必要があります。docker pull
コマンドを使用してこれを行います。
docker pull nginx
docker pull redis
これらのコマンドは、Docker Hub からnginx
とredis
のイメージをダウンロードします。