Docker Desktop中的 nginx怎么代理到指定容器
时间: 2024-09-23 21:04:11 浏览: 69
在Docker Desktop中,你可以通过配置Nginx作为反向代理服务器将流量路由到特定的容器应用。以下是基本步骤:
1. **安装Nginx**:首先,确保你在Docker Desktop上已经安装了Nginx。如果没有,可以在官方镜像仓库中拉取`nginx`镜像:`docker pull nginx`.
2. **启动并映射端口**:运行一个新的Nginx容器,并将80端口(HTTP请求默认端口)映射到主机的8080端口,以便外部访问:`docker run -p 8080:80 -d nginx`。
3. **编辑Nginx配置**:你需要创建一个自定义的Nginx配置文件,通常放在卷挂载目录中。例如,创建一个名为`proxy.conf`的文件,内容可以类似这样:
```
server {
listen 80;
location /myapp {
proxy_pass http://<container_name>:<container_port>;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
将 `<container_name>` 替换为你想要代理的容器名称,`<container_port>` 替换为该容器应用监听的端口号。
4. **挂载配置文件**:在启动Nginx容器时,使用`-v`选项将配置文件挂载到Nginx容器中,如 `-v $(pwd)/proxy.conf:/etc/nginx/conf.d/proxy.conf`。
5. **重启Nginx**:为了应用新的配置,需要重启Nginx容器:`docker restart <nginx_container_id>` 或者 `docker-compose restart nginx`(如果使用的是Docker Compose)。
6. **验证代理**:现在,从外部访问`http://localhost:8080/myapp`,Nginx会代理到指定的容器应用。
阅读全文