-
启动OpenResty容器时,确保它能够访问宿主网络。如果你不需要容器之间的隔离,可以使用
--network="host"
参数,但这会使容器共享宿主的网络命名空间,从而容易访问本机端口。docker run -d --name my_openresty --network="host" openresty/openresty:1.21.4.3-0-focal
注意:使用
--network="host"
模式时,容器将直接使用宿主机的网络,因此不需要映射端口。 -
修改OpenResty(Nginx)配置,设置一个代理服务器指向宿主机的端口。这通常涉及到编辑OpenResty容器中的
nginx.conf
文件,或者是特定的虚拟主机配置文件。你可以通过进入容器内部来编辑配置文件:
docker exec -it my_openresty /bin/bash
然后编辑
/usr/local/openresty/nginx/conf/nginx.conf
或者相关配置文件,添加如下配置:server { listen 80; location / { proxy_pass http://host.docker.internal:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
-
重启OpenResty容器以应用配置更改:
docker restart my_openresty
使用OpenResty容器代理到宿主机(本机)的端口
10 min read