簡體   English   中英

C# 如何在 Docker 容器中訪問本地網絡 (192.168.xx)

[英]C# How to Access local network (192.168.x.x) within Docker containers

這是我在這里的第一篇文章,我瀏覽了互聯網以解決這個問題,但不知道如何做到這一點,因為我是 docker 新手,並且不太擅長網絡(善意地說)。

我需要一種方法來訪問我的主機內部網絡 IP,該 IP 已轉發到連接到代理服務器的端口。 所以基本上 192.168.x.xx:5000 => someproxyserver.com 現在在我的本地機器上設置 SOCKS5 或什至在 C# 中時,它能夠連接並且可以工作。 但這不是 docker 的情況,我再次完全是 docker 的菜鳥,我嘗試了很多東西,但我似乎無法讓我的 docker 容器連接到socks5 服務器。

我什至嘗試使用--network=host運行--network=host容器,但出現錯誤(沒有到主機的路由)理想情況下,我不想使用 --network 主機,因為我有許多其他容器連接到外部網絡。

var settings = new ProxySettings() {
  Host = localIp,
  Port = port
};
using (var proxyClientHandler = new ProxyClientHandler<Socks5>(settings)) {
  using (var httpClient = new HttpClient(proxyClientHandler)) {
    var response = await httpClient.GetStringAsync("https://api.ipify.org?format=json");
  }
}

這是我用來連接到 SOCKS5 服務器的 C# 代碼。

使用--network=host

在此處輸入圖片說明

沒有--network=host

在此處輸入圖片說明

我設法以某種方式完成了這項工作,沒有包含任何運行命令,我相信這是由於我的防火牆阻止訪問而失敗的,這很奇怪,因為我確實允許訪問它,但是在早些時候重新啟動我的計算機后,它工作了:) 所以是的,如果有人偶然發現了這一點,請記住確保您的防火牆沒有阻止對 docker 的訪問

暫無
暫無

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

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