28 lines
897 B
Docker
28 lines
897 B
Docker
# 使用官方 Nginx 镜像
|
||
FROM nginx:09051708
|
||
|
||
# 维护者信息
|
||
LABEL maintainer="awei"
|
||
LABEL description="HTTP server with SSL support"
|
||
|
||
# 复制配置文件
|
||
# conf.d 只放不依赖证书的常驻配置(80 端口:ACME 验证 + HTTPS 跳转)
|
||
COPY nginx.conf /etc/nginx/nginx.conf
|
||
COPY conf.d /etc/nginx/conf.d
|
||
COPY verification.html /usr/share/nginx/html/verification.html
|
||
|
||
# 创建日志目录与 HTTPS 配置目录
|
||
# ssl.d 必须存在:nginx.conf 里的 wildcard include 在目录不存在时会报 emerg
|
||
RUN mkdir -p /var/log/nginx /etc/nginx/ssl.d
|
||
|
||
# 暴露端口
|
||
EXPOSE 80
|
||
EXPOSE 8443
|
||
|
||
# 健康检查:/healthz 固定返回 200,不跟随 301,冷启动阶段也不会误判
|
||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||
CMD wget --quiet --tries=1 -O /dev/null http://127.0.0.1/healthz || exit 1
|
||
|
||
# 启动 Nginx
|
||
CMD ["nginx", "-g", "daemon off;"]
|