我已经在Ubuntu VM上安装了Docker。运行Ubuntu docker容器。这些码头集装箱采用的IP地址为172.17.*.* (eth0)
。有了这个IP,我将无法从外面ping /访问码头集装箱。
因此,我试图分配一个IP与我的本地网络范围。我遵循的步骤:Ubuntu VM上的Docker容器的网络连接
创建一个新的桥梁网络,子网和网关的IP块
$ docker network create --subnet 10.255.*.0/24 --gateway 10.255.*.254 ipstatic
运行在该块特定IP Ubuntu的容器
$ docker run --rm -it --net ipstatic --ip 10.255.*.2 phusion/ubuntu
将卷发从任何其他地方(假设是被一个公共的IP块杜)
$ curl 10.255.*.2
卷曲:(7)无法连接到10.255 * 2端口80:连接 拒绝
有了这个,即使主机无法访问10.255.*.*
网络。码头集装箱采用IP 10.255.*.2
,但仍无法从外部访问。我是Docker的新手。我的目标是从我的本地网络访问码头集装箱。
谢谢您的信息。如果使用** - net = host **,则码头容器将具有与主机相同的IP /网络配置。我正在寻找从同一主机启动多个容器(不同IP),并从外部访问它们。 – user3432296
然后'--net = host'不是你想要的。只需在默认内部桥接网络中的主机内运行容器,并使用端口转发使其对外界可见。例如'docker run --name myapp -p 8080:80 nginx'。调出地址为http://:8080的浏览器,并显示nginx的默认页面。 –
Alkaline