链接&同时展示Docker容器

时间:2016-05-25 16:54:44

标签: docker

以下命令是否链接两个容器以及公开我网络上的端口?..

docker run -d -p 5000:5000 --link my-postgres:postgres danwahlin/aspnetcore

我正在观看Dav Wahlin关于Docker的课程,而这一命令让我大吃一惊。这是否意味着可以从我的网络访问端口5000并在两个容器之间链接?如果是这样,那么链接对于容器之间的通信是不重要的,因为它们可以只使用配置文件中的IP和端口。正确的吗?

1 个答案:

答案 0 :(得分:0)

看起来你感到困惑"传统链接"与#34;集装箱网络"。正如您的示例所示,创建链接会在容器hosts文件中创建一个条目,以便它们可以按名称相互解析。

在上面的示例中,您创建了一个别名" postgres"到了我的后期"容器。在此处考虑名称解析。这对隔离网络堆栈没有任何作用。

接下来,您有--port-p开关,它将容器端口暴露给网络。在这里,您将公开端口5000.如果没有此开关,您将不会暴露任何内容,因此不会接收任何来电。

如果你想隔离容器,你可以使用"桥接网络"像这样:

docker network create --driver bridge mynetwork

创建网络后,只有添加到网络的容器才会相互通信。例如:

docker run -d --net=mynetwork --name postgres postgres:latest
docker run -d --net=mynetwork --name node node:latest