今回はNginxとDockerでローカル環境を構築するための備忘録です。
http://localhost:80/ にアクセスしてindex.htmlを表示するところまでやってみます。
前提
docker-compose コマンドが使用できること。
ディレクトリ構成
(root)/ ├── docker-compose.yml └── nginx ├── Dockerfile ├── conf.d # Nginxの設定ファイル │ └── default.conf └── html # ブラウザに表示するルートディレクトリ └── index.html
各ファイル内容
docker-compose.yml
version: "3.8" 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
- portは80と443を開けています。
- /usr/share/nginx/htmlがブラウザ表示時のルートディレクトリになるので、そこにローカル環境の ./nginx/html が反映されるようにしています。
- /etc/nginx/conf.d がNginxの設定ファイル置き場になるので、ローカル環境の /nginx/conf.d が反映されるようにしています。
Dockerfile
FROM nginx:latest
- nginxのイメージを引っ張ってきているだけです。追加でインストールしたいものなどカスタマイズしたい場合は、このDockerfile内に追記していくイメージです。
conf.d/default.conf
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } }
html/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <h1>Test</h1> </body> </html>
Docker環境構築
以下のコマンドでDocker環境を構築します。
docker-compose up --build
http://localhost:80/ にアクセスしてindex.htmlが内容がブラウザに表示されればOKです。