
luizeof/nginx-proxynginx-proxy是一款基于Nginx构建的HTTP代理Docker镜像,主要用于在Docker环境中实现HTTP请求的转发与反向代理。该镜像通过简化配置流程,帮助用户快速搭建容器间的通信桥梁或实现服务暴露,适用于各类需要代理转发的Docker部署场景。
通过以下命令启动nginx-proxy容器,实现基本的HTTP代理功能:
bashdocker run -d -p 80:80 -e TARGET_URL=<目标服务URL> --name nginx-proxy nginx-proxy
参数说明:
-p 80:80:将容器的80端口映射到主机80端口,接收外部HTTP请求-e TARGET_URL=<目标服务URL>:设置代理目标URL(如[***],需确保目标服务与nginx-proxy容器网络可达)--name nginx-proxy:指定容器名称为nginx-proxy| 环境变量名 | 说明 | 是否必选 | 默认值 |
|---|---|---|---|
| TARGET_URL | 代理目标服务的完整URL | 是 | 无 |
| PROXY_PORT | 容器内代理服务监听端口 | 否 | 80 |
如需更复杂的代理配置,可通过挂载本地Nginx配置文件覆盖容器默认配置:
bashdocker run -d -p 80:80 -v /本地路径/nginx.conf:/etc/nginx/nginx.conf --name nginx-proxy nginx-proxy
说明:本地Nginx配置文件需符合Nginx配置规范,确保包含代理相关配置(如proxy_pass指令指向目标服务)。
将请求转发至同一Docker网络中的web服务容器(假设web服务容器名为web-app,端口8080):
bash# 创建自定义网络(若需) docker network create my-network # 启动web服务容器(示例) docker run -d --name web-app --network my-network nginx:alpine # 启动nginx-proxy容器,代理至web-app docker run -d -p 80:80 --network my-network -e TARGET_URL=[***] --name nginx-proxy nginx-proxy
此时访问主机80端口,请求将被转发至web-app容器的80端口。
将外部请求通过nginx-proxy转发至运行在本地的Docker容器服务:
bashdocker run -d -p 8080:8080 --name api-service my-api-service # 启动API服务,端口8080 docker run -d -p 80:80 -e TARGET_URL=[***] --name nginx-proxy nginx-proxy
说明:host.docker.internal为Docker提供的特殊域名,用于容器访问主机网络服务(需Docker 18.03+版本支持)。




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