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
にアクセス。
以上。終わり。