docker-compose と nginx を使用してWebwサーバーを立ち上げる方法
docker-compose , Docker , Dockerfile を使用して nginx を立ち上げる方法を解説します。
コピペで完成するため、だれでも簡単にサービスを立ち上げれます。
Docker入門 関連記事
nginx + docker-compose のソースコード
ディレクトリ構成は以下の通りです。
この後、docker-compose.yml,Dockerfile, default.conファイルを作成します。
nginxディレクトリとconf.d,htmlディレクトリはあらかじめ作成しておいてください。
C:.
│ docker-compose.yml
│ Readme.md
│
└─nginx
│ Dockerfile
│
├─conf.d
│ default.conf
│
└─html
index.html

docker-compose のソースコード
nginxを動かすためのdocker-compose.ymlファイルは以下の通りです。
内容をコピーしてdocker-compose.ymlファイルを作成し書き込みましょう。
version: "3"
services:
nginx:
container_name: nginx
build:
./nginx
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/html:/usr/share/nginx/html
- ./nginx/conf.d:/etc/nginx/conf.d
ソースコードの内容を少し解説します。
portsについて
portは80番と443番を開けている。
これはそれぞれHTTPとHTTPSで使用するポート番号に対応しており、
これがなければブラウザからアクセスすることができない。
volumesについて
nginxで必要なフォルダーは主に二つ。
htmlフォルダー。ここにはウェブサイトに表示されるhtmlを格納する。conf.dフォルダー。ここにはnginxで使用する設定ファイルを格納する。
htmlにはindex.htmlのみを入れている。
conf.dにはdefault.confファイルを入れており、この中にnginxの設定内容を書き込んでいる。
nginx の Dockerfile
今回のDockerfileは以下のFROM句のみです。
FROM nginx:latest
nginx/conf.d/default.confについて
この設定ファイルには次の内容を書き込んでいる。
server {
listen 80;
server_name localhost;
location / {
# ゲストOS上のWebアプリ(index.html等)カレントディレクトリ
root /usr/share/nginx/html;
index index.html index.htm;
}
}
index.htmlの内容
今回はHello worldを表示させましょう。
以下の内容をコピーして保存してください。
<h1> hello world! </h1>
nginx + docker-compose のソースコードを入手
以下のgithubリポジトリからソースコードを手に入れることができます。
gitコマンドをインストールしている方は次のコマンドからインストールしましょう。
git clone https://github.com/minegishirei/DockerImages.git
nginx を docker-composeで立ち上げる。
ディレクトリ移動
cd DockerImages/nginx
コンテナ立ち上げ
docker-compose up
にアクセス。
以上。終わり。