由于众所周知的问题,为了拉取 Github 项目,我在本地起了 clash 的服务并在指定端口监听,Drone 的 server 端和 runner 端本身可以通过添加--add-host host.docker.internal:host-gateway
这个 host 配置加上HTTP_PROXY
环境变量来访问到本机的 clash 端口,实现正常获取仓库信息的。
但 Drone 的 runner 跑 build 时,仓库的克隆操作似乎是通过再拉起一个 git 的容器,在 git 容器内完成仓库拉取的,这样就会导致我对 runner 添加的 host 配置并不会应用到 runner 内创建的容器上,无法解析host.docker.internal
这个 hostname ,导致无法拉取仓库。
报错:fatal: unable to access 'https://github.com/...': Could not resolve proxy: host.docker.internal
求助万能的 V 友,怎样才能让 runner 拉取仓库时也可以通过宿主机的代理访问?
尝试过的方案:
~/.docker/config.json
的 proxies 项,无效,原理也是为容器添加HTTP_PROXY
等环境变量。这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.