# 使用专为非特权运行设计的 nginx 镜像 FROM nginxinc/nginx-unprivileged:stable-alpine # 切换到 root 用户以便执行删除操作 USER root # 删除 entrypoint 目录,避免在启动时运行那些尝试修改配置的脚本 RUN rm -rf /docker-entrypoint.d # 删除镜像中可能已存在的默认配置文件 RUN rm -f /etc/nginx/conf.d/default.conf # 复制自定义的 nginx 配置文件到镜像中 COPY nginx.conf /etc/nginx/conf.d/default.conf # 如果需要的话,可修改配置中临时目录等路径(建议在 nginx.conf 中设置所有必要参数) # EXPOSE 声明容器监听的端口,此处使用 8080(或根据实际需求调整) EXPOSE 8080 # 切换回非 root 用户(nginxinc/nginx-unprivileged 默认使用非特权用户) USER nginx # 启动 nginx,前台运行 CMD ["nginx", "-g", "daemon off;"]