码头群,
Setup:只有主节点(公共ip: 30.50.60.90和intranet ip: 10.0.0.3)在internet上,工作节点(intranet ip: 10.0.0.6和10.0.0.9)在intranet上。
服务创造-
$docker service create \
--name my-nginx \
--network my-overlay \
--replicas 1 \
-p 8080:80 \
nginx:latest现在,从互联网上点击http://30.50.60.90:8080有效吗?
如果是这样的话,那么在这里路由网格的作用是什么?
发布于 2019-07-20 16:23:12
如果您不配置您的防火墙或路由器NAT转发端口,它将无法从互联网访问,无论您知道您的公共IP地址。您的公共IP地址指向您的路由器,然而,从那里,您的路由器隐藏您的本地网络,您的群可能是部署在那里。为了从internet访问端口,必须在路由器中配置NAT以将端口转发到计算机,从那里,只要部署了容器,您的服务就应该是可访问的。
有关更多信息,请查看超级用户-什么是端口转发和它是用来做什么?。
如果你需要一种简单的方式在互联网上获得你的服务,我会给ngrok一个机会。
发布于 2019-07-21 04:48:09
为了进行访问,码头服务需要反向代理,因为码头群在内部网络中运行服务。码头服务IP在互联网上是不公开的,因为服务运行在码头机上,码头机是孤立的网络。您可以为反向代理设置Nginx或任何负载均衡器。
例如,Nginx中的反向代理
server {
listen 80;
server_name hello.com www.hello.com;
location / {
proxy_pass http://your_server_ip: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;
}
}https://stackoverflow.com/questions/57125884
复制相似问题