如何公开无类型docker容器的端口?

时间:2018-01-31 09:11:31

标签: docker containers port netcat docker-container

我创建了两个docker容器,其中一个是网络类型none,另一个是bridge类型。在创建docker容器期间,我使用以下命令将其端口映射到主机端口的端口。

  

docker run -p host_port:container_port image

使用管道系统将无类型的coontainers添加到网络中,因此无类型容器也具有IP地址,并且可以连接到外部网络。

我尝试使用netcat访问容器端口,但我无法访问类型为none的容器端口。使用命令“docker port container_name”我看不到无类型容器中的端口,但我可以看到桥接类型容器的映射端口。

我使用的Netcat命令是:

  

主机

中的nc -l localhost host_port -----&gt ;.      容器中的

nc localhost container_port ----->

反之亦然。

1 个答案:

答案 0 :(得分:0)

Docker网络 - 无,不会为容器配置任何IP,也不能访问外部网络以及其他容器。它具有环回地址,可用于运行批处理作业。

# docker run -it --network=none ubuntu:14.04 /bin/bash
root@66308c6686be:/# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

# 

# docker inspect 66308c6686be | grep -i ipaddr
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAddress": "",

有关泊坞网络的更多信息,请参阅here.