我已經在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