欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

docker內轉發到外網(禁止docker容器訪問外網)

劉姿婷2年前8瀏覽0評論

在一些特殊的 Docker 環境中,我們需要將容器內的請求轉發到外網。比如說,我們有一個 web 應用程序需要從外網獲取數據,但是我們無法直接在容器內直接連接外網,怎么辦呢?

這時候,我們需要使用 Docker 的內部網絡和端口映射的能力來實現內網轉發到外網功能。具體步驟如下:

  1. 首先,在主機上創建一個新的橋接網絡,以便容器與外部網絡連接。
  2. sudo docker network create my-bridge-network
  3. 啟動一個代理容器,將代理容器連接到新建的橋接網絡上。
  4. sudo docker run -itd --name my-proxy --network my-bridge-network alpine sh
  5. 安裝 curl 和 socat(用于轉發 TCP 流量)。
  6. apk add --no-cache curl socat
  7. 在代理容器內啟動 socat,將容器內部的流量轉發到外網。
  8. socat -v TCP4-LISTEN:8080,fork,reuseaddr \
    PROXY:外網IP:外網端口,proxyport=8080
  9. 在需要訪問外網的容器內,設置代理。
  10. export HTTP_PROXY=http://my-proxy:8080
    export HTTPS_PROXY=http://my-proxy:8080
  11. 測試一下,看看是否成功。
  12. curl http://www.google.com

通過以上步驟,我們就可以將容器內的請求成功轉發到了外網。