Docker Composeの構築

Docker Composeを使ってWebサーバーの環境を構築しましょう

前回は docker run コマンドで nginx コンテナを起動しました
今回は Docker Compose を利用して同じ環境を構築します
Docker Compose を利用すると、コンテナの設定を docker-compose.yml ファイルに記録できるため、後から同じ環境を簡単に再現できます
今後 WordPress やデータベースを利用する際にも役立つため、基本的な使い方を確認しましょう

前回の「Dockerのインストール」からの続きです

まずは新しくCompose用のディレクトリを作成します

mkdir ~/compose-test
cd ~/compose-test

次にdocker-compose.ymlを作成します

nano docker-compose.yml

内容は次の通り

services:
  web:
    image: nginx
    # → nginxイメージを使用
    ports:
      - "8082:80"
    # → ホスト8082番をコンテナ80番へ接続
    volumes:
      - ~/myweb:/usr/share/nginx/html
    # → ~/myweb をWeb公開ディレクトリへ接続

ポートをこれまでの 8080 や 8081 と重ならないように 8082 に設定しました

htmlファイルディレクトリは前回「Dockerのインストール」で作成した ~/myweb を指定して、既存の html ファイル(index.html)をそのまま流用しました

Compose コマンドを使ってコンテナを立ち上げます

docker compose up -d

ブラウザでアクセス確認しましょう

http://サーバーIP:8082

これが見えたら成功です

My First Server

My First Server

Hello from Docker!

自分のサーバーが動いています

後片付けをしましょう

docker compose down

次の日も動かしてみましょう

cd ~/compose-test
docker compose up -d

終わったら後片付けは前日と一緒です

今回は nginx コンテナを Docker Compose で起動しました
docker run と比較すると設定内容をファイルとして保存できるため、
同じ環境を何度でも再現できます
今後は Docker Compose を利用して、複数コンテナを利用した環境構築や、
PHP やデータベースを含む環境の構築にも挑戦したいと思います

Docker Composeの便利なところは、
設定内容がdocker-compose.ymlにまとめて保存されることです
数か月後に環境を見直したときも、設定ファイルを見るだけで構成を思い出しやすくなります
ぜひ試して下さい

お疲れ様でした

Docker Composeの構築