Docker仍然可以在设置了--link标志和未设置--link标志的情况下查看打开的端口

Docker仍然可以在设置了--link标志和未设置--link标志的情况下查看打开的端口,docker,Docker,我一直遵循这两个教程来了解Docker网络: 第一个教程说,容器没有使用-p或-p标志来公开端口 $ docker run --name redis-server -d <your username>/redis 这样我就可以从redis客户端容器连接到redis服务器容器,因为它们是链接的。但在尝试其他配置时,我运行了另一个容器,我们称之为redis-client-2——就在我停止并删除redis-client容器之后——它不使用--link标志: $ docker ru

我一直遵循这两个教程来了解Docker网络:

第一个教程说,容器没有使用-p或-p标志来公开端口

$ docker run --name redis-server -d <your username>/redis
这样我就可以从redis客户端容器连接到redis服务器容器,因为它们是链接的。但在尝试其他配置时,我运行了另一个容器,我们称之为redis-client-2——就在我停止并删除redis-client容器之后——它不使用--link标志:

$ docker run --name redis-client-2 -i -t ubuntu:14.04 /bin/bash
我注意到,即使没有--link标志集,我也可以从redis-client-2连接到redis服务器容器的redis服务器

我的问题是,我是否误解了--链接和Docker上的暴露端口的概念?为什么我仍然可以连接到redis服务器容器,不管有没有--link标志


提前感谢同一Docker网络上的Docker容器(如果没有设置,
默认值),因为彼此可以自由通信<代码>--链接
是一流Docker网络时代之前的遗留特征


-p
-p
选项仅与暴露Docker网络之外的端口(即主机)相关,对容器到容器的通信没有影响。

相同Docker网络上的Docker容器(如果未设置,
默认值
)彼此可以自由通信<代码>--链接是一流Docker网络时代之前的遗留特征

-p
&
-p
选项仅与暴露Docker网络外部(即主机)的端口有关,对容器到容器的通信没有影响

$ docker run --name redis-client-2 -i -t ubuntu:14.04 /bin/bash