| # 使用专为非特权运行设计的 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;"] |