可以在docker端口后添加前缀
我正在与docker集装箱主办我的angular4项目。 我有nginx服务器中介我的客户端和我的API。 没有find方式来访问我的前端像这个localhost /咖啡。
而不是推荐的方式访问docker127.0.0.1:9000
docker run -p 9000:80 image
,
我可以这样做127.0.0.1:9000/coffee
之后
docker run -p 9000/coffee:80 image.
我有权访问活动服务器上的端口9000上打开的localhost / coffee。 我需要在我公开的端口docker端口添加前缀咖啡。
docker端口后不能添加前缀。只能映射端口。 要访问像localhost / coffee这样的前端,你可以configurationnginx来处理这个场景(configuration位置为/ coffee和代理请求到你的后端服务器)。
@Girdhar Sojitra是正确的。 您需要使用nginx作为反向代理。 我想添加一些通知。 Jwilder的nginx-proxy可以为你的每个后端自动configuration子域名。
端口和请求url是两个不同的东西。 端口用于networking通信,请求URL用于networking服务器。 所以当你跑步
docker run -p 9000:80 image
如果你得到的应用程序在localhost:9000
,你需要改变它为localhost:9000/coffee
这个变化需要进入你的代码或在你的Web服务器configuration,而不是在docker运行命令。
一个简单的nginxconfiguration会
http{ server { listen 80; location /coffee/ { proxy_pass http://yourbackendcontainer:backendport/; } }
如果你需要/coffee/
也作为URL的一部分传递给你的后端,那么你可以将configuration更改为下面
http{ server { listen 80; location /coffee { proxy_pass http://yourbackendcontainer:backendport; } }