nginx反向代理docker容器
时间: 2023-08-20 16:07:50 浏览: 114
要在nginx中设置反向代理docker容器,可以按照以下步骤进行操作:
1. 首先,在docker-compose.yml文件中定义nginx服务,并将其配置为反向代理到目标docker容器。例如,可以将以下内容添加到docker-compose.yml文件中:
```
version: '2.0'
services:
nginx:
restart: always
image: nginx
container_name: nginx
ports:
- 81:80
volumes:
- ./conf/nginx.conf:/etc/nginx/nginx.conf
- ./wwwroot:/usr/share/nginx/wwwroot
```
这将创建一个名为nginx的服务,并将其配置为监听主机的81端口,并将请求转发到目标docker容器。
2. 然后,将nginx的配置文件nginx.conf复制到宿主机上的指定目录。可以使用以下命令将容器中的nginx.conf文件复制到宿主机上的/home/nginx/conf/nginx.conf:
```
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
```
3. 接下来,根据需要,将容器中的其他配置文件或文件夹复制到宿主机上的相应目录。例如,可以使用以下命令将容器中的conf.d文件夹复制到宿主机上的/home/nginx/conf/conf.d目录:
```
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
```
4. 最后,使用docker run命令重新启动nginx容器,并将宿主机上的配置文件和文件夹挂载到容器中。例如,可以使用以下命令重新启动nginx容器,并将宿主机上的/home/nginx/conf/nginx.conf挂载到容器的/etc/nginx/nginx.conf:
```
docker rm -f nginx
docker run -p 9002:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest
```
这样,nginx就会作为反向代理服务器运行,并将请求转发到目标docker容器。请根据实际情况修改配置文件路径和端口号。
阅读全文