如何将两个docker容器连接在一起?

时间:2016-07-27 16:16:52

标签: docker containers dockerfile tcserver

我有一个带有tcserver的docker容器,上面有一个应用程序的UI。我有第二个docker容器,它也运行tcserver但是这个容器有应用程序引擎。我试图让这两个人以某种方式相互交谈,因为当我在Web浏览器上访问UI时,它表示它没有连接到引擎。我看了许多不同的教程,但它们不起作用,大多数都不适用于我的情况。我该怎么做呢? 谢谢你提前。

3 个答案:

答案 0 :(得分:0)

您需要将 App Engine容器新分配的端口链接到 UI容器,因为容器只能通过其他集装箱通过港口。

答案 1 :(得分:0)

就这么简单:

docker run --name engine -d tcserver-engine

docker run --name lala --link engine:tc-engine -d tcserver-ui

lala容器内,您可以使用所选别名获取引擎容器,在此示例中为tc-engine

答案 2 :(得分:0)

docker run 命令或 docker-compose.yml 文件中使用名称链接

docker run -ti --name server1 -p 8111:8111 ikamman/docker-tc-server
docker run -ti --name server2 --link server1 -p 8112:8111 ikamman/docker-tc-server
docker exec server2 curl server1:8111

会像这样回复:

$ docker exec server2 curl server1:8111
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3546    0  3546    0     0   3290      0 --:--:--  0:00:01 --:--:--  3292
<!--
Page: maintenance-welcome
Stage: FIRST_START_SCREEN
State revision: 12
Timestamp: Wed Jul 27 20:30:06 UTC 2016
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>TeamCity Maintenance &mdash; TeamCity</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="application-name" content="TeamCity"/>
  <meta name="description" content="Powerful Continuous Integration and Build Server"/>
  <link rel="icon" href="/img/icons/TeamCity512.png" sizes="512x512"/>