簡體   English   中英

無法從同一局域網中的另一台主機ping Docker容器

[英]Can not ping docker container from another host which is in the same LAN

我在同一局域網中有兩個主機,都運行docker:

  • 主持人A:172.16.0.113
  • 主持人B:172.16.0.114

我可以從主機B ping主機A。但是,我不能從主機B ping主機A上的docker容器。

我在Docker默認網絡(網橋)中創建了一個運行ubuntu的Docker容器。 默認docker0的IP地址是172.17.0.1。 主機(172.16.0.113)中的容器(ubuntu)的IP地址是172.17.0.2。 我使用的命令在這里:

sudo docker run --name container01 -it -p 8080:80 ubuntu /bin/bash

我可以從其主機(主機A)ping容器01; 但是我無法從另一台主機B ping ping container01。請注意,我已經暴露了container01的端口。

我認為從主機B ping container01時,數據包將發送到該主機中的容器。 但是我想知道如何從主機B連接到主機A的container01。

也許嘗試做

sudo docker run --name container01 -it --network=host -p 8080:80 ubuntu /bin/bash

Docker容器在通常無法從其他主機訪問的專用地址上運行。 如果您有多個Docker主機,則應設置覆蓋網絡,以將容器放置在相同的專用網絡上,使它們可以互相訪問; 這可以通過群體模式自動完成。

為了從Docker外部訪問容器,您需要發布端口。 使用docker run ,這是-p 8080:80選項,該選項會將主機端口8080映射到容器端口80(您可以調整這些端口號)。 使用docker-compose.yml,有一個類似的ports部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM