
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于官方Nginx镜像,通过envsubst工具使用环境变量动态生成配置文件,避免因修改配置而频繁构建镜像。本镜像旨在提供灵活的Nginx配置方案,同时支持静态文件服务和PHP FastCGI后端代理。
***.org/wiki/Nginx
!https://raw.githubusercontent.com/docker-library/docs/01c***b2fe592c1f93a13b4e289ada0e3a1/nginx/logo.png
Nginx是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
基于官方https://hub.docker.com/_/nginx 构建。
通过环境变量修改Nginx配置:
consoledocker run --rm --name some-nginx -p 8080:80 -e NGINX_HOST=192.168.99.100.xip.io docker.xuanyuan.run/milhomem/nginx
访问 http://192.168.99.100.xip.io:8080 即可测试。
另一个示例(挂载静态文件目录):
consoledocker run --rm --name some-nginx -p 8080:80 -v /local/src:/var/www -e STATIC_FILES_ROOT=/var/www/public docker.xuanyuan.run/milhomem/nginx
查看应用后的配置:
consoledocker exec some-nginx cat /etc/nginx/conf.d/default.conf
可用环境变量
根据使用的标签不同,可用环境变量可能有所差异,当前支持的变量包括:
CLIENT_MAX_BODY_SIZE:客户端最大请求体大小NGINX_PORT:Nginx监听端口NGINX_HOST:Nginx主机名STATIC_FILES_ROOT:静态文件根目录FASTCGI_FILES_ROOT:FastCGI文件根目录FASTCGI_HOST:FastCGI后端主机FASTCGI_PORT:FastCGI后端端口FASTCGI_CONNECT_TIMEOUT:FastCGI连接超时时间FASTCGI_SEND_TIMEOUT:FastCGI发送超时时间FASTCGI_READ_TIMEOUT:FastCGI读取超时时间PHP_VALUE:PHP配置参数(如date.timezone=GMT\nmax_execution_time=30)如需更多环境变量支持,可提交issue或参考下方复杂配置方法。
配置文件夹 /etc/nginx/conf.d/ 中的所有 .template 文件会通过环境变量替换生成最终配置,并包含在Nginx配置中。支持以下模板类型:
.conf.template:生成后位于 http 指令下,可定义多个 server 块.rules.template:生成后位于主 server 模板下.fastcgi_params.template:生成后包含在 fastcgi 代理配置中示例:通过Dockerfile添加自定义规则和静态文件
dockerfileFROM docker.xuanyuan.run/milhomem/nginx ADD config/templates/*.rules.template /etc/nginx/conf.d/ ADD src .
自定义模板仍可使用环境变量,保持配置灵活性。
在Nginx配置中使用环境变量
Nginx原生不支持大多数配置块中的环境变量,但可通过 envsubst 在启动前动态生成配置。以下是docker-compose.yml示例:
示例1:PHP FastCGI后端代理
yamlversion: '3' services: nginx: image: docker.xuanyuan.run/milhomem/nginx:php ports: - "8080:80" environment: FASTCGI_HOST: "hello_world_app" FASTCGI_FILES_ROOT: "/app" hello_world_app: image: docker.xuanyuan.run/php:7.3-fpm command: | sh -c " mkdir /app; echo '<?php phpinfo(); ?>' > /app/index.php; php-fpm "
示例2:完整配置示例
yamlversion: '3' services: web: image: docker.xuanyuan.run/milhomem/nginx:php ports: - "8080:8081" environment: NGINX_HOST: "localhost" NGINX_PORT: "8081" FASTCGI_FILES_ROOT: "/var/www" FASTCGI_HOST: "fcgi" PHP_VALUE: "date.timezone=GMT\nmax_execution_time=30" CLIENT_MAX_BODY_SIZE: "10m" FASTCGI_CONNECT_TIMEOUT: "5" FASTCGI_SEND_TIMEOUT: "5" FASTCGI_READ_TIMEOUT: "5" fcgi: image: docker.xuanyuan.run/php:7.3-fpm volumes: - "source_code:/var/www" volumes: source_code: driver: local
milhomem/nginx:<version>-alpine-php基于[***] FastCGI后端场景,通过FASTCGI_HOST链接后端服务并代理请求。
milhomem/nginx:latest同样基于Alpine Linux,仅用于静态文件服务。需通过构建镜像添加文件或挂载卷到容器中提供静态资源。
如需更多常用功能或变体,可提交issue或PR。如有建议或想参与项目,可通过@milmeninos联系。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 milhomem/nginx 相关的常用 Docker 镜像,适用于 反向代理、负载均衡、静态资源服务 等不同场景: