如何链接docker集装箱?
我已经尝试链接我的docker容器,但它似乎给访问错误。
我的结构如下:
- 数据库docker工具(Mysql) – 容器名称是
um-mysql
- 后端docker(Tomcat) – 图像名称是
cz-um-app
- 前端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
以查看后端是否仍然运行。