# 使用官方Nginx Alpine基础镜像(更轻量) FROM nginx:1.24-alpine # 维护者信息 LABEL maintainer="xiaomayicloud@163.com" LABEL description="Nginx 1.24 for Node.js frontend deployment" LABEL version="1.24" # 安装必要的工具 RUN apk update && \ apk add --no-cache \ curl \ bash \ tzdata \ && rm -rf /var/cache/apk/* # 设置时区(可选,根据需要修改) ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 创建应用目录 RUN mkdir -p /app/dist && \ mkdir -p /app/logs && \ mkdir -p /app/conf # 移除默认的Nginx配置 RUN rm -rf /etc/nginx/conf.d/default.conf # 复制自定义Nginx配置 COPY nginx.conf /etc/nginx/nginx.conf COPY conf.d/ /etc/nginx/conf.d/ # 复制健康检查脚本 COPY healthcheck.sh /usr/local/bin/healthcheck.sh RUN chmod +x /usr/local/bin/healthcheck.sh # 暴露端口 EXPOSE 80 443 # 健康检查 HEALTHCHECK --interval=30s --timeout=10s --retries=3 \ CMD /usr/local/bin/healthcheck.sh # 启动Nginx CMD ["nginx", "-g", "daemon off;"]