繁体   English   中英

如何链接docker容器?

[英]How to link docker containers?

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

我的结构如下:

  1. 数据库docker(Mysql) - 容器名称是um-mysql
  2. 后端docker(Tomcat) - 图像名称是cz-um-app
  3. 前端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中为此配置一些设置吗?

hosts条目如下,我也可以ping后端服务:

在此输入图像描述

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

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

docker exec -it frontend bash
cat /etc/hosts

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM