我尝试过连接我的docker容器,但似乎在访问时出错。
我的结构如下:
um-mysql
cz-um-app
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
但是,前端与后端的链接无法正常工作。
我有一个登录页面,在提交时,它会访问网址http://backendservices:8080/MyApp
在控制台中,它显示错误:
net::ERR_NAME_NOT_RESOLVED
不确定为什么后端容器与数据库的链接工作正常,而前端与后端的情况不同。 我是否需要在Nginx中配置一些设置?
主机条目如下,我也可以ping后端服务:
答案 0 :(得分:1)
首先,您不需要为backendservices
映射8080:8080:backendservices
图片中的任何EXPOSE
d端口都可以链接到其中的任何其他容器。无需主机端口映射。
其次,如果后端已经注册,您可以检查您的前端:
docker exec -it frontend bash
cat /etc/hosts
如果不是,请检查docker ps -a
以查看后端是否仍然运行。