Dockerfile 988 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # 使用官方Nginx镜像作为基础
  2. FROM nginx:1.27.3 AS builder
  3. # 安装编译工具
  4. RUN apk add --no-cache \
  5. build-base \
  6. linux-headers \
  7. pcre-dev \
  8. zlib-dev
  9. # 下载Nginx源码(与基础镜像版本一致)
  10. RUN wget http://nginx.org/download/nginx-1.27.3.tar.gz && \
  11. tar -zxvf nginx-1.27.3.tar.gz && \
  12. rm nginx-1.27.3.tar.gz
  13. # 编译Nginx并启用所需模块
  14. WORKDIR /nginx-1.27.3
  15. RUN ./configure \
  16. --prefix=/etc/nginx \
  17. --sbin-path=/usr/sbin/nginx \
  18. --modules-path=/usr/lib/nginx/modules \
  19. --with-http_gzip_module \
  20. --with-http_gzip_static_module \
  21. --with-http_gunzip_module \
  22. --with-http_ssl_module && \
  23. make && \
  24. make install
  25. # 第二阶段:构建最终镜像
  26. FROM nginx:1.27.3
  27. # 从builder阶段复制编译好的二进制文件
  28. COPY --from=builder /usr/sbin/nginx /usr/sbin/nginx
  29. # 验证模块
  30. RUN nginx -V 2>&1 | grep -E 'gzip|gunzip'
  31. # 复制 nginx 配置文件
  32. COPY ./nginx.conf /etc/nginx/nginx.conf