
pinidh/nginx-proxy本镜像为 nginxproxy/nginx-proxy 的分支版本,是一款用于Docker环境的自动Nginx反向代理工具。其核心功能是为运行中的Docker容器自动配置Nginx反向代理规则,并扩展支持为每个虚拟主机(域名)配置多个服务端口,解决了原版仅支持单端口的限制。
VIRTUAL_HOST指定)配置多个服务端口,满足多服务共存需求nginxproxy/nginx-proxy的全部特性,包括HTTPS支持、自定义Nginx配置、网络隔离等与原版nginx-proxy类似,通过挂载Docker套接字实现配置自动生成:
bashdocker run -d \ --name nginx-proxy \ -p 80:80 \ -p 443:443 \ -v /var/run/docker.sock:/tmp/docker.sock:ro \ pini-gh/nginx-proxy:pini
为容器配置多端口时,通过以下环境变量实现:
VIRTUAL_HOST: 指定虚拟主机域名(如example.com)VIRTUAL_PORT: 指定多个端口,使用逗号分隔(如80,3000,8080)启动一个需要暴露80和3000端口的应用容器:
bashdocker run -d \ --name multi-port-app \ -e VIRTUAL_HOST=example.com \ -e VIRTUAL_PORT=80,3000 \ my-app-image
容器启动后,nginx-proxy会自动生成Nginx配置,将example.com:80和example.com:3000都代理到该容器的对应端口。
配合nginx-proxy/acme-companion可实现HTTPS自动配置,多端口场景下HTTPS端口(443)需单独映射:
bash# 启动acme-companion容器 docker run -d \ --name nginx-proxy-acme \ --volumes-from nginx-proxy \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v acme:/etc/acme.sh \ --env "DEFAULT_EMAIL=***" \ nginxproxy/acme-companion
如需将容器端口映射到不同的主机端口,可通过VIRTUAL_HOST指定端口,格式为域名:主机端口:
bashdocker run -d \ -e VIRTUAL_HOST=example.com:8080 \ -e VIRTUAL_PORT=3000 \ my-app-image
| 环境变量 | 作用描述 | 示例值 |
|---|---|---|
VIRTUAL_HOST | 指定虚拟主机域名,支持多个域名 | example.com,[***] |
VIRTUAL_PORT | 指定容器内服务端口,支持多个端口 | 80,3000,8080 |
VIRTUAL_PROTO | 指定代理协议(http/https) | https |
LETSENCRYPT_HOST | 启用HTTPS的域名(需配合acme-companion) | example.com |
server块nginx-proxy的网络配置限制,建议使用同一网络或配置--net=host(视场景而定)server块生成




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务