我正在嘗試使一些碼頭集裝箱來容納我的一些日常工具。但是我的很多工具都依賴於能夠連接到設備(通過wifi)來提取數據。讓碼頭集裝箱連接到網絡設備
我一直在做研究,並且相當困惑,試圖瞭解需要做什麼來支持這種情況。我知道通常碼頭集裝箱是服務器而不是客戶端。但我讀過有關做相反事情的人。
我想弄清楚需要做什麼樣的更改/配置。
我正在嘗試使一些碼頭集裝箱來容納我的一些日常工具。但是我的很多工具都依賴於能夠連接到設備(通過wifi)來提取數據。讓碼頭集裝箱連接到網絡設備
我一直在做研究,並且相當困惑,試圖瞭解需要做什麼來支持這種情況。我知道通常碼頭集裝箱是服務器而不是客戶端。但我讀過有關做相反事情的人。
我想弄清楚需要做什麼樣的更改/配置。
默認情況下,搬運工人將像docker0
接口的物理服務器上創建虛擬網絡,也就是說在bridge
模式,因此該接口可以通過你eth0
連接互聯網是物理系統接口和一切與你的本地和全球網絡將通過eth0
物理接口。
所以,如果你要訪問互聯網或本地網絡正在運行的泊塢窗容器內比你要泊塢窗守護進程的啓動過程中添加nameserver
按你的物理系統/etc/resolv.conf
文件。因此您使用物理系統訪問的所有內容都可以通過碼頭集裝箱訪問。
在Docker容器啓動過程中,您還需要公開端口,以便藉助eth0
界面可以從外部docker網絡中獲取數據。這些所有配置在iptables
幫助下自動處理.docker將添加iptables rules
並將流量從docker0
轉發到eth0
,並且您的所有服務都能正常工作。
例
docker run -it --name "$container_name" -d -h "$host_name" -p 9080:9080 -p 1522:1522 "$image_name"
所以在上述的情況下我的應用程序從oracle db
與在網絡中的另一個機器和應用上承載端口1522
拉動數據完美地工作。通過-p 1522:1522
它會發送請求到1522
端口在物理機器和物理機器上發送這個請求到網絡託管機器在相同的端口1522
併發生所有的通信。
希望這會有道理。
謝謝!
我會盡快給這個試試謝謝! – 165plo
所以我很困惑的名稱服務器。你有鏈接在Windows上配置這個?我以爲-p打開連接到Docker容器的主機上的連接。這些是雙向的嗎? – 165plo
在此鏈接中,您將通過'dns opts'獲得docker配置https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon –