2017-08-17 72 views
0

我在Docker撰寫文件中指定了幾個通過鏈接彼此通信的服務。現在我想讓這些服務之一與外部世界交談並從主機網絡中的另一臺服務器獲取一些數據。但碼頭服務使用其內部分配的IP地址,這導致主機網絡的防火牆阻止了他的請求。我怎樣才能告訴這個碼頭服務使用主機的IP地址呢?如何將主機ip分配給與docker組合運行的服務

編輯: 我進一步了,我要找的是network_mode選項,其值爲host。但問題是network_mode: "host" cannot be mixed with links.所以我想我必須改變所有碼頭服務的配置不使用鏈接。我會嘗試如何解決這個問題。

回答

0

你應該打開一個端口喜歡該服務

ports: 
    8000:8000 

左邊的8000是主機端口,右邊將是IP端口

+0

我喜的8000,確有必要的端口打開,以便其他系統可以與docker中運行的服務進行通信。所以傳入流量正確轉發到碼頭服務。問題是傳出流量應使用主機的IP地址,而不是使用Docker容器之間的內部默認網絡的IP地址。 – samy

相關問題