前提・環境
・Windows10 Pro
・Docker for Windows(コマンドプロンプトで「docker --version」や「docker-compose --version」を打ってバージョン番号が表示されること)
Docker Composeとは
Docker Composeとは、複数のコンテナを使うDockerアプリケーションを、定義・実行するツールです。開発中や運用時に複数のDockerコンテナを使うと管理が煩雑になりますが、Docker Composeを利用することで環境構築における構築手順を自動化することができたりするので、煩雑さを軽減することができます。
NginxをDocker Hubから取得
以下のコマンドでDocker HubからNginxのイメージを取得します。
docker pull nginx:latest
次に以下のコマンドでnginxのイメージが取得できているかを確認します。
docker images ※もしくはdocker images nginx
REPOSITORYにnginxが存在すればOKです。
Dockerfileの作成
# base imgae(docker imagesコマンドで表示されたREPOSITORYを指定)
FROM nginx:latest
# author
MAINTAINER nagaoka
ADD default.conf /etc/nginx/conf.d
RUN echo "now building..."
docker-compose.ymlの作成
version: '3'
services:
nginx: // ※1
build: . // ※2
ports:
- "8080:80" // ※3
volumes:
- ./public:/usr/share/nginx/html // ※4
※1任意の名前を指定
※2Dockerfileからコンテナ生成・起動する場合。Dockerfileを利用しない場合は、image: nginxと記述
※3「ホスト側のポート:コンテナ側のポート」の形式。ホスト側のブラウザ等でhttp://localhost:8080 とアクセスすると、コンテナ側の80ポートへフォワードされる
※4「ホスト側のディレクトリ:コンテナ側のディレクトリ」の形式。左記の例だと、docker-compose.ymlが配置されたディレクトリにあるpublicというディレクトリがコンテナ側の「/usr/share/nginx/html」にマウントされる
コンテナ起動
以下のコマンドでnginxを起動します。
docker-compose up
以上です。
参考
http://docs.docker.jp/v1.12/compose/index.html
http://docs.docker.jp/v1.12/compose/compose-file.html#service-configuration-reference