访问链接与泊坞窗撰写

问题描述:

我有一个角度的应用程序与快递服务器进行通信。我已将角度应用程序链接到快速服务器。我可以ping角度容器内的链接,但在代码中使用时显示错误。访问链接与泊坞窗撰写

泊坞撰写文件

myexpress: 
    build: express-server 
    links: 
     - "mymongodb:mongo" 
    ports: 
     - "8080:3000" 
    angular: 
    build: angular 
    links: 
     - "myexpress:express" 
    ports: 
     - "4200:4200" 

我可以在http://localhost:4200/访问应用程序。 HTTP调用的代码片段:

return this.http.post('http://express:3000/signup', body, {headers: headers}) 
     .map((response: Response) => response.json()) 
     .catch((error: Response) => Observable.throw(error.json())); 

控制台显示以下错误: enter image description here

如何从角容器访问该链接?

+0

尝试http:// myexpress并删除链接块。 –

+0

它的修改仍然一样。我使用了'ping express',我得到了输出。它必须是别的东西。 –

容器之间的通信通过它们的主机名进行。默认情况下服务名称被认为是主机名,因此您应该使用http://myexpress:3000连接到myexpress

另外,您可以分别指定主机名。更多详情here

+0

即使将请求更改为“http:// myexpress:3000/signup”,我也会收到错误。错误说:'net :: ERR_NAME_NOT_RESOLVED' –

+0

使用主机名称,这将驱除所有的困惑 – Ayushya

+1

我已经通过使角度和表达到单个容器中解决了问题。 –

我认为您在撰写文件中缺少container_name选项。

myexpress: 
    build: express-server 
    container_name: myexpress 
    links: 
     - "mymongodb:mongo" 
    ports: 
     - "8080:3000" 
angular: 
    build: angular 
    links: 
     - "myexpress:express" 
    ports: 
     - "4200:4200" 
+0

我已经尝试过,但它不能解决错误。我有一些其他容器以相同的方式链接。所以它一定是别的。 –