V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
b0644170fc
V2EX  ›  macOS

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

  •  
  •   b0644170fc · 2020-11-18 15:29:00 +08:00 · 3369 次点击
    这是一个创建于 1500 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    https://docs.docker.com/network/host/
    Kobayashi
        9
    Kobayashi  
       2020-11-19 11:54:42 +08:00 via Android
    @b0644170fc host 不大确定,我上边说的是 bridge 的情况。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2734 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:40 · PVG 19:40 · LAX 03:40 · JFK 06:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.