如何链接docker容器?

时间:2015-12-14 10:10:49

标签: docker

我尝试过连接我的docker容器,但似乎在访问时出错。

我的结构如下:

  1. 数据库docker(Mysql) - 容器名称为um-mysql
  2. 后端泊坞窗(Tomcat) - 图像名称为cz-um-app
  3. 前端泊坞窗(Nginx) - 图片名称为cz-um-frontend
  4. 后端与数据库泊坞窗的链接完成如下,它完美地运行:

    $ 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后端服务:

    enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

docker exec -it frontend bash
cat /etc/hosts

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