泊坞窗容器的链接别名我有3层独立的部分,以我的dockerized应用:如何连接到从主机
nodeapp
:运行expressjs应用从/api
访问时返回一个JSON对象的一个node:latest
泊坞窗容器。此服务器也根据this site启用COR。nginxserver
:简单地承载了index.html
文件,允许用户点击一个按钮,这将使了XMLHttpRequest上面的节点服务器Anginx:latest
静态服务器。- 我主机机
的node:latest
有其端口通过3000:80
暴露给主机。
nginx:latest
的端口通过8080:80
暴露给主机。
从主机我能够同时访问nodeapp和nginxserver单独:我可以提出请求,看到了JSON对象使用curl
从命令行节点服务器返回,按钮(当我点击localhost:8080
时,屏幕上可以看到index.html)。
但是,当我尝试点击按钮时,XMLHttpRequest('GET', 'http://nodeapp/api', true)
的调用失败,但看起来并没有击中nodeapp
服务器(不存在日志)。我假设这是因为主机不明白http://nodeapp/api
。
有没有办法告诉码头,虽然容器正在运行,以将其容器链接别名添加到我的hosts文件?
我不知道我的问题是否是我的问题的正确解决方案。它看起来好像我得到一个CORs错误返回,但我不认为它曾经击中我的服务器。这是否与从主机访问应用程序有关?
Here is a link to an example repo
编辑:我已经注意到,使用点击按钮发送一个从我的nginx的容器响应的堆栈时。我很困惑,为什么它是通过该服务器路由,因为nodeapp
在我的hosts
文件中,所以它应该识别那里的关联?
乌尔正确的,你的主机不明白nodeapp,你可以使用nginx的重定向功能总是指向nginx –