访问docker的链接撰写

我有一个angular色的应用程序与快递服务器进行通信。 我已经将angular度应用程序链接到快速服务器。 我可以pingangular度容器内的链接,但在代码中使用时显示错误。

Docker撰写文件

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())); 

控制台显示以下错误: 在这里输入图像说明

如何从angular容器访问链接?

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

另外,您可以分别指定主机名。 更多细节在这里 。

我认为你错过了撰写文件中的container_name选项。

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