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