
如果你使用 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 Docker容器是官方nginx镜像的分支版本,在保留nginx核心功能的基础上,增加了入口脚本以简化配置管理,并默认设置自签名SSL证书。
Nginx(发音为"engine-x")是一款开源的反向代理服务器,支持HTTP、HTTPS、SMTP、POP3和IMAP协议,同时具备负载均衡、HTTP缓存和Web服务器(源服务器)功能。该项目以高并发、高性能和低内存占用为核心设计目标,采用2条款BSD类许可证,可运行于Linux、BSD变体、Mac OS X、Solaris等类Unix系统。
bashsudo docker run -it -p 80:80 -p 443:443 -d dperson/nginx
启动后可通过浏览器访问 http://hostname 或 http://host-ip。
bashsudo docker run -it -p 80:80 -p 443:443 \ -v /some/path:/srv/www:ro -d dperson/nginx
查看所有配置选项:
bashsudo docker run -it --rm dperson/nginx -h
命令行选项
Usage: nginx.sh [-opt] [command] Options (fields in '[]' are optional, '<>' are required): -h 显示帮助信息 -6 禁用IPv6 -B "[on|off]" 启用/禁用代理请求缓冲区,用于请求传递 [on/off] (默认on) -b "[location][;IP]" 为指定位置配置基本认证 可选参数: [location] (默认'/') [location] 是nginx中的URI路径 (例如: /wiki) [;IP] 无需认证的IP地址 -C "" 配置内容安全策略(CSP)头 -c "<max_size>" 配置上传文件的client_max_body_size -e "" 配置静态资源的EXPIRES头 可选参数: "[timeout]" - 缓存文件超时时间 -f "<server;location>" 配置FastCGI代理和位置 必需参数: "<server[:port]>;</location>" <server> 是要连接的主机名或IP <location> 是nginx中的URI路径 (例如: /mediatomb) -g "" 生成自签名SSL证书 可选参数: "[domain][;country][;state][;locality][;org]" domain - 服务器的FQDN country - 2字母国家代码 state - 服务器所在州/省 locality - 城市 org - 组织/公司 -P 配置生产模式(禁用服务器标识) -p 配置PFS(完美前向保密) -H 配置HSTS(HTTPS严格传输安全) -I "<file>" 包含配置文件 必需参数: "<file>" <file> 要包含的文件路径 -i 启用SSI(服务器端包含) -n 设置server_name <name>[:oldname] -q 快速模式(不创建证书) -R "" 设置阻止机器人索引的头 可选参数: "[tag]" all 无限制(默认) noindex 不在搜索结果或"缓存"链接中显示 nofollow 不跟随页面上的链接 none 等效于noindex, nofollow noarchive 不在搜索结果中显示"缓存"链接 nosnippet 不在搜索结果中显示摘要 noodp 不使用开放目录项目元数据 notranslate 不提供页面翻译 noimageindex 不索引页面上的图片 unavailable_after: [RFC-850 date/time] 指定日期时间后不再显示 -r "<service;location>" 将主机名重定向到URL 必需参数: "<hostname>;<https://destination/URI>" <hostname> 要监听的主机名(完全限定域名) <destination> 请求重定向目标 -S "" 配置SSL会话 可选参数: "[timeout]" - 会话复用超时时间,例如5m -s "<cert>" 配置SSL stapling 必需参数: CA用于OCSP检查的证书 -T "<server;dest>[;protocol]" 配置流代理 必需参数: "<[IP:]port>;<dest>" <server> 要监听的(可选)IP和(必需)端口 <dest> 请求转发目标 <name_or_IP>:<port> 可选第三个参数: "[protocol]" [protocol] 如果不是TCP,在此指定(例如"udp") -t "" 配置时区 可选参数: "[timezone]" - 容器的zoneinfo时区 -U "<username;password>" 配置HTTP认证用户 必需参数: "username;password" <username> 用户认证用户名 <password> 用户认证密码 -u "<service;location>" 配置UWSGI代理和位置 必需参数: "<server:port|unix:///path/to.sock>;</location>" <service> UWSGI服务地址 <location> 是nginx中的URI路径 (例如: /wiki) -W "<service;hosts>" 配置Web代理主机名和位置 必需参数: "http://<server[:port]>/;hosts" <service> HTTP服务地址 <hosts> 逗号分隔的主机名列表(至少1个) 注意: 服务器将监听,但仍需DNS配置 可选参数: "[header value]" "[sockets]" [header value] 设置代理流量的请求头 [sockets] 如果设置为"no"则禁用WebSocket支持 -w "<service;location>" 配置Web代理和位置 必需参数: "http://<server[:port]>/;/<location>/" <service> HTTP服务地址 <location> 是nginx中的URI路径 (例如: /mediatomb) 可选参数: "[header value]" "[sockets]" [header value] 设置代理流量的请求头 [sockets] 如果设置为"no"则禁用WebSocket支持 如果提供了有效的"command",将运行该命令而非nginx
环境变量
| 环境变量 | 描述 |
|---|---|
IPV6 | 禁用IPv6支持 |
BASIC | 为URI位置设置基本认证,例如/path |
EXPIRES | 配置静态资源的EXPIRES头 |
FASTCGI | 配置FastCGI代理 |
GENCERT | 生成自签名SSL证书 |
PFS | 配置完美前向保密 |
PROD | 启用生产服务器标识 |
HSTS | 配置HTTP严格传输安全 |
INCLUDE | 要包含的配置文件 |
SSI | 启用服务器端包含 |
NAME | 设置服务器名称 |
QUICK | 不生成SSL证书 |
REDIRECT | 配置重定向 port;hostname;https://dest/url |
ROBOT | 设置阻止机器人索引的头 |
STREAM | 配置流代理 |
STAPLING | 配置SSL stapling |
SSL_SESSIONS | 设置SSL会话复用 |
TZ | 配置zoneinfo时区,例如EST5EDT |
HTTPUSER | 配置HTTP用户 username;password (支持HTTPUSER2, HTTPUSER3等) |
USWGI | 配置UWSGI应用 http://dest:port/url;/path |
PROXY | 配置应用代理 http://dest/url/;/path/ |
PROXY_HOST | 配置主机代理 http://dest/url/;host.name/ |
PROXYBUFFER | 启用或禁用代理请求缓冲区 `[on |
USERID | 设置Web服务器用户的UID |
GROUPID | 设置Web服务器用户的GID |
CLIENTMAXBODYSIZE | 设置上传文件的最大大小 |
CONTENTSECURITY | 设置内容安全策略(CSP) |
注意: -r/REDIRECT不再需要指定端口。
bashsudo docker run -it --name web -p 80:80 -p 443:443 -d dperson/nginx -q sudo docker exec -it web nginx.sh -q -s # 复制证书文件 cat /path/to/your.cert.file | sudo docker exec -it web tee /etc/nginx/ssl/fullchain.pem cat /path/to/your.key.file | sudo docker exec -it web tee /etc/nginx/ssl/privkey.pem cat /path/to/your.ocsp.file | sudo docker exec -it web tee /etc/nginx/ssl/chain.pem sudo docker restart web
bash# 启动wiki容器 sudo docker run -it --name wiki -d dperson/moinmoin # 使用命令行参数配置 sudo docker run -it -p 80:80 -p 443:443 --link wiki:wiki -d dperson/nginx \ -u "wiki:3031;/wiki" # 或使用环境变量配置 sudo docker run -it -p 80:80 -p 443:443 --link wiki:wiki \ -e UWSGI="wiki:3031;/wiki" -d dperson/nginx
bashsudo docker run -it -p 80:80 -p 443:443 -d dperson/nginx \ -r "myapp.example.com;https://myapp.herokuapp.com" \ -r "myapp.example.com;https://myapp.herokuapp.com"
bash# 启动Smokeping容器 sudo docker run -it --name smokeping -d dperson/smokeping # 使用命令行参数配置 sudo docker run -it -p 80:80 -p 443:443 --link smokeping:smokeping \ -d dperson/nginx -w "http://smokeping/smokeping/;/smokeping/" # 或使用环境变量配置 sudo docker run -it -p 80:80 -p 443:443 --link smokeping:smokeping \ -e PROXY="http://smokeping/smokeping/;/smokeping/" \ -d dperson/nginx
bash# 使用命令行参数 sudo docker run -it -p 80:80 -p 443:443 -d dperson/nginx -t EST5EDT # 或使用环境变量 sudo docker run -it -p 80:80 -p 443:443 -e TZ=EST5EDT -d dperson/nginx
bash# 使用命令行参数 sudo docker run -it -p 80:80 -p 443:443 -d dperson/nginx -P # 或使用环境变量 sudo docker run -it -p 80:80 -p 443:443 -e PROD=y -d dperson/nginx
bash# 使用命令行参数 sudo docker run -it -p 80:80 -p 443:443 -d dperson/nginx -p -H # 或使用环境变量 sudo docker run -it -p 80:80 -p 443:443 -e PFS=1 -e HSTS=y -d dperson/nginx
有关Nginx配置文件语法的详细信息,请参阅官方文档,特别是初学者指南。
如需修改默认配置,可从运行中的容器复制配置文件:
bashsudo docker cp web:/etc/nginx/nginx.conf /some/nginx.conf
如果您在使用此镜像时遇到任何问题或有疑问,请通过https://github.com/dperson/nginx/issues%E4%B8%8E%E4%BD%9C%E8%80%85%E8%81%94%E7%B3%BB%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 dperson/nginx 相关的常用 Docker 镜像,适用于 反向代理、负载均衡、静态资源服务 等不同场景: