環境
- MacBook Pro (macOS: Big Sur)
ファイル構成
/app
└ /public
└ index.html
docker-compose.yaml
Dockerfile
/nginx
└ default.conf
サンプルコード
docker-compose.yaml
version: "3"
services:
app:
build:
context: .
volumes:
- ./app:/var/www/html
ports:
- "8080:80"
Dockerfile
FROM nginx:1
WORKDIR /var/www/html
COPY ./app /var/www/html
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
nginx/default.conf
server {
listen 80;
listen [::]:80;
server_name localhost;
root /var/www/html/public;
index index.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
app/public/index.html
<!DOCTYPE html>
<html lang="ja" dir="ltr">
<head>
<meta charset="utf-8">
<title>docker-sample nginx</title>
</head>
<body>
hello world
</body>
</html>
実行
$ cd /path/to/your/project
# http://localhost:8080 にアクセス
$ docker-compose up