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
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にまとめて保存されることです
数か月後に環境を見直したときも、設定ファイルを見るだけで構成を思い出しやすくなります
ぜひ試して下さい
お疲れ様でした