2016-04-25 90 views
-1

我正在面臨docker中配置網絡的問題。詳情如下。與Docker網絡連接問題

主機: - Ubuntu服務器14.04 LTS 64位。 IP子網:10.0.0.0/16,IP地址:10.0.0.206/16,默認網關:10.0.0.1/16。該機器安裝了docker(版本1.6.2 build 7c8fca2),並在docker0網橋172.17.42.1/16中具有默認IP。但是,該容器已收到IP爲172.17.0.1。問題如下。

  1. 我的主機和碼頭工人的容器能夠與彼此和Internet,但任何其他機器不能用泊塢窗連接容器連接。

  2. 更改docker0網橋IP是臨時的,每次重新啓動時都會恢復爲172.17.42.1/16。

  3. 我無法設置我的容器的靜態IP地址,因爲它在每個出口自動更改或者主機重新啓動。檢查了容器的網絡配置文件/ etc/network/interfaces,但在該文件中進行更改不會影響其eth0接口。

在很短的,我不能夠連接到容器從外部世界(從其他物理機),即使我已經配置其他機器的網絡接口連接到主機泊塢窗和容器。

我該如何解決這個連接問題?

+0

什麼是協議和端口,你想從外部連接到碼頭集裝箱?你是如何運行容器的? 'docker run -d -p xx:xx image' –

+0

我想到的第一個問題是:爲什麼要運行相當過時的Docker版本?我說,以防萬一有其他問題給你帶來麻煩。被警告說,他們在1.9中改變了docker0的IP(我相信)。另外,我記得在一個容器中設置一個靜態IP地址是一種反模式,但如果你必須的話,那麼你必須確保你_docker提交了這個信息,否則每當你重啓容器時它就會消失。 – Marakai

回答

-1

默認情況下,不能從其他主機訪問Docker容器。這個IP地址是由docker分配的。

運行容器時可以使用「--net = host」,那麼容器將與主機節點共享相同的IP地址。容器將從其他節點可用。

docker run -it --net=host ubuntu bash