2016-08-24 50 views
0

我想在我們的Windows環境中運行docker,這樣工作人員可以從他們自己的計算機上訪問應用程序,但無法使其工作。將docker container(django app)連接到windows lan

我已經試過NAT的兩種解決方案和橋接這裏被認爲沒有用該模式:

How to connect to a docker container from outside the host (same network) [Windows]

當我使用NAT模式下,我能夠通過對本地主機連接到應用程序主機(127.0.0.1:8000),當我使用橋接模式時,我可以使用docker機器的IP(192.168.99.100:8000),但我無法從LAN中的其他計算機訪問它們。

我能夠ping泊塢機容器所在的計算機與另一個位於同一局域網中的計算機,但是當我在瀏覽器中鍵入它的url時,我會得到標準的IIS登錄頁面。我刪除了IIS中的默認站點,以防它佔用了我試圖分配給碼頭集裝箱的端口,但那不起作用 - 我只是得到一個站點無法訪問的頁面。

最終,我只是希望能夠從Windows服務器上的局域網內的另一臺計算機訪問泊塢窗容器中的應用程序。任何想法,將不勝感激。

編輯:我應該提到,誰照顧域LAN,域控制器的人說,他可以設置一個特定的IP地址連接到virtualbox(碼頭集裝箱),但不知道如何那樣做 - 他從來沒有聽說過docker,也不知道virtualbox。

+0

端口號或只是staticIP將問題分成兩部分:(1)從主機連接到Docker中的應用程序,(2)從其他機器連接到主機?你已經解決了(1)NAT問題,所以這個問題不再是碼頭工。現在是問題(2):如何讓一臺Windows機器與端口8000上的另一臺Windows機器進行通信。因此,請問這個問題:「我的應用程序在Windows中的本地127.0.0.1:8000上運行,我如何讓其他Windows機器與它?」 –

+0

@OlegSklyar偉大的一點!我一直在看這個這麼長時間,這對我來說都是一樣的。明天我會着手研究這個具體問題。今晚我一直在學習TCP,IP,網關等,以更好地瞭解我正在處理的事情。 – ivan7707

回答

0

什麼終於爲我工作是以下幾點:

VirtualBox的設置

  • 我刪除了以前的虛擬ENV因爲我不能肯定所有的修修補補的我已經做了這一點
  • 碼頭機創建-d virtualbox默認#創建新虛擬機
  • 關閉默認虛擬機
  • 選擇設置,網絡適配器3,啓用網絡適配器
  • 選擇橋接網絡,請注意,顯示了
  • 設爲混雜模式的MAC地址允許所有
  • 單擊確定
  • 泊塢窗機啓動默認

VirtualBox的設置

  • 顯示虛擬機SC穎(無論是無頭的開始,或表演)
  • 的adduser#這是ssh的測試,以便嚴格不必
  • 輸入ifconfig,並找到哪個以太網有你在上面通常要麼爲eth0或eth1的注意MAC地址(也看看在INET地址)
  • 使用膩子(從Windows)到ssh whateveryourname @的InetAddr
  • 鍵入密碼爲您創建的用戶,你應該能夠ssh到虛擬機現在 - 設置靜態IP
  • in bash類型:sudo ifconfig eth1 netmask 255.255.255.0
  • 型ifconfig來檢查它是否改變了 - 應用
  • 運行搬運工,撰寫腳本,並訪問staticIP應用:從你的局域網取決於NGINX如何設置