b0644170fc
V2EX  ›  macOS

macos 怎么设置 docker 上的容器使用宿主机上的 http 代理?

  •  
  •   b0644170fc · Nov 18, 2020 · 4210 views
    This topic created in 2042 days ago, the information mentioned may be changed or developed.

    我看官方手册说使用 -e,我的启动命令片段如下

    -e HTTP_PROXY=http://host.docker.internal:6152
    

    不管是host.docker.internal,还是 127.0.0.1 都不起作用

    9 replies    2020-11-19 11:54:42 +08:00
    Tink
        1
    Tink  
    PRO
       Nov 18, 2020
    mac 不知道,但是 linux 你可以 ifconfig 查看网卡,找到 docker0 那个 IP,它跟你的容器是在一个网段的
    gqbre
        2
    gqbre  
       Nov 18, 2020
    试试楼上的方法,不然就盲试 172.17.0.1 ?
    mrjnamei
        3
    mrjnamei  
       Nov 18, 2020
    preference > proxies 设置,
    设置完了重启
    b0644170fc
        4
    b0644170fc  
    OP
       Nov 18, 2020
    @mrjnamei 这个只能作用与拉取 /上传镜像才有用吧。对于运行中的容器不起作用
    loushizan
        5
    loushizan  
       Nov 18, 2020   ❤️ 1
    docker run --net=host 使用主机的网络
    Kobayashi
        6
    Kobayashi  
       Nov 18, 2020 via Android   ❤️ 1
    环境变量 HTTP_PROXY 没用的,macOS 上 docker 实现和 Linux 下不一样:宿主不在容器所在的网络里,也就是说他们不互通。在 Linux 下 docker 没有这种问题。建议使用带 Tap/TUN 的增强代理模式,如 clashx pro, proxifier, surge,这样直接在宿主机上代理了 com.docker.vpnkit 进程。
    foMM
        7
    foMM  
       Nov 18, 2020
    从 docker 访问主机,host 是 docker.for.mac.localhost
    b0644170fc
        8
    b0644170fc  
    OP
       Nov 19, 2020
    @loushizan 这个也没用吧。官网上有明确说明 主机网络不适用于 macos 和 windows.

    https://docs.docker.com/network/host/
    Kobayashi
        9
    Kobayashi  
       Nov 19, 2020 via Android
    @b0644170fc host 不大确定,我上边说的是 bridge 的情况。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2882 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 15:07 · PVG 23:07 · LAX 08:07 · JFK 11:07
    ♥ Do have faith in what you're doing.