【发布时间】:2015-12-15 12:18:38
【问题描述】:
我已尝试链接我的 docker 容器,但似乎在访问时出错。
我的结构如下:
- 数据库 docker(Mysql) - 容器名称为
um-mysql - 后端 docker(Tomcat) - 镜像名称为
cz-um-app - 前端 docker(Nginx) - 镜像名称为
cz-um-frontend
后端与数据库 docker 的链接如下完成,并且运行良好:
$ 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
但是,前端与后端的链接不起作用。
我有一个登录页面,在提交时,它访问一个 url http://backendservices:8080/MyApp
在控制台中,它显示错误为:
net::ERR_NAME_NOT_RESOLVED
不确定为什么后端容器与数据库的链接工作正常,而前端与后端的情况不同。 我需要为此在 Nginx 中配置一些设置吗?
主机条目如下,我也可以 ping 后端服务:
【问题讨论】:
-
与问题无关,但对于设置开发堆栈,我强烈建议使用
docker-compose。 docs.docker.com/compose -
docker logs backendservices给出什么输出?您尝试了哪些进一步的步骤来解决此问题? -
我检查了后端服务的日志,但没有日志条目,因为请求直到后端服务容器才到达。我已经使用主机条目快照更新了问题,并通过 ping 验证了后端服务。 Nginx conf 中是否需要任何配置?
-
我正在阅读一本非常有趣的关于 Docker 的手册。我知道
--link已被弃用,因此我找不到此命令的语法。语法是--link container1:container2吗?
标签: docker