シンプルな docker-compose.yml ファイルの準備
このステップでは、シンプルなdocker-compose.yml
ファイルを準備します。始める前に、Docker Compose をインストールしましょう。LabEx VM 環境には Docker Compose がプリインストールされていないため、手動でインストールする必要があります。Docker Compose バイナリをダウンロードし、実行可能にします。
まず、curl
を使用して Docker Compose バイナリをダウンロードします。インストールされている Docker バージョンと互換性のある1.29.2
バージョンをダウンロードします。
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
このコマンドは、公式 GitHub リリースページから Docker Compose バイナリをダウンロードし、/usr/local/bin/docker-compose
に保存します。$(uname -s)
と$(uname -m)
の部分は、オペレーティングシステムとアーキテクチャを自動検出し、正しいバイナリをダウンロードすることを保証します。
次に、ダウンロードしたバイナリを実行可能にする必要があります。
sudo chmod +x /usr/local/bin/docker-compose
このコマンドは、docker-compose
ファイルに実行権限を追加し、コマンドとして実行できるようにします。
それでは、Docker Compose が正しくインストールされていることをバージョンを確認して検証しましょう。
docker-compose --version
docker-compose version 1.29.2, build 5becea4c
のような出力が表示されるはずです。これで Docker Compose がインストールされ、使用準備が整ったことが確認できます。
次に、~/project
ディレクトリにシンプルなdocker-compose.yml
ファイルを作成します。このファイルはnginx
イメージを使用した単一サービスを定義します。
nano ~/project/docker-compose.yml
このコマンドは、nano
テキストエディタを開き、docker-compose.yml
ファイルを作成・編集します。エディタに以下の内容を貼り付けます:
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 イメージの最新バージョンを使用しています
ports:
はホストマシンとコンテナ間のポートマッピングを行います。"80:80"
はホストのポート 80 をコンテナのポート 80 にマッピングします。これにより、Web ブラウザでhttp://localhost
(または VM の IP アドレス)にアクセスすることで、コンテナ内で動作する Nginx Web サーバーにアクセスできます
Ctrl + O
を押してファイルを保存し、Enter
を押し、Ctrl + X
を押してエディタを終了します。
これで、Nginx イメージを使用した Web サービスを定義するシンプルなdocker-compose.yml
ファイルが正常に作成されました。次のステップでは、このファイルを使用してコンテナを作成・管理します。