这个目录提供了一个基于官方 nginx 镜像的自定义镜像,构建时可以指定基础镜像版本。
在保留官方默认配置结构的基础上,这个镜像额外做了几件事:
Asia/ShanghaiLANG=C.UTF-8nginx.conf 增加 stream 配置块,并默认读取 /etc/nginx/conf.d/*.streamserver_tokens/dev/stdout 输出/dev/stderr 输出默认使用官方 nginx:latest 作为基础镜像:
docker build -t muwn/nginx:latest ./nginx
如果你希望显式指定基础镜像版本,可以传入 NGINX_VERSION:
docker build \
--build-arg NGINX_VERSION=1.28.0 \
-t muwn/nginx:1.28.0 \
./nginx
当前 docker-compose.yaml 使用下面三个宿主机挂载目录:
./volumes/conf.d/ → /etc/nginx/conf.d/./volumes/logs/ → /var/log/nginx/./volumes/cache/ → /var/cache/nginx/建议至少准备成下面这样:
./volumes/
├── cache/
├── conf.d/
│ ├── http.conf
│ └── stream.stream
└── logs/
其中:
http.conf:定义 HTTP 层的限流配置和可复用的 OSS 缓存区stream.stream:定义 stream 层补充配置你可以直接复用当前目录里的这两个文件作为初始配置。
当前目录已提供可直接使用的:
docker-compose.yaml
启动前建议先准备目录:
mkdir -p ./volumes/conf.d ./volumes/logs ./volumes/cache
cp ./http.conf ./volumes/conf.d/http.conf
cp ./stream.stream ./volumes/conf.d/stream.stream
启动方式:
docker compose up -d
停止并移除容器:
docker compose down
当前 docker-compose.yaml 已内置健康检查,策略是访问容器内的 HTTP 端口:
healthcheck:
test: ["CMD-SHELL", "curl -s http://127.0.0.1:80 > /dev/null 2>&1"]
这个检查方式会直接验证 HTTP 服务是否已经起来,但它只覆盖容器内的 80 端口,不替代完整的配置正确性校验。
运行时目录用途如下:
/etc/nginx/conf.d/:额外的 HTTP / stream 配置/var/log/nginx/:访问日志、错误日志、stream 日志/var/cache/nginx/:缓存目录,当前 http.conf 默认会使用 /var/cache/nginx/oss查看容器日志:
docker logs -f nginx
进入容器:
docker exec -it nginx sh
Content type
Image
Digest
sha256:999d1a41f…
Size
94.5 MB
Last updated
4 months ago
docker pull muwn/nginx