如何链接docker集装箱?

我已经尝试链接我的docker容器,但它似乎给访问错误。

我的结构如下:

  1. 数据库docker工具(Mysql) – 容器名称是um-mysql
  2. 后端docker(Tomcat) – 图像名称是cz-um-app
  3. 前端docker(Nginx) – 图片名称是cz-um-frontend

后端与数据库泊坞窗的链接完成如下,它完美的作品:

 $ docker run -p 8080:8080 --name backendservices --link um-mysql:um-mysql cz-um-app 

前端与后端链接如下:

 $ docker run -p 80:80 --name frontend --link backendservices:backendservices cz-um-frontend 

但是,前端与后端的链接不起作用。

我有一个login页面,在提交时,它访问一个url http://backendservices:8080/MyApp

在控制台中,它显示错误为:

 net::ERR_NAME_NOT_RESOLVED 

不知道为什么后端容器与数据库的链接工作正常,前端与后端不一样。 我需要在Nginx中configuration一些设置吗?

主机条目如下,我也能ping通后端服务:

在这里输入图像说明

首先,您不需要为backendservices映射8080:8080: backendservices映像中的任何EXPOSE d端口都可以链接到其他任何容器。 不需要主机端口映射。

其次,如果后端已经注册,你可以检查你的前端:

 docker exec -it frontend bash cat /etc/hosts 

如果不是,请检查docker docker ps -a以查看后端是否仍然运行。