colima 代理折磨日记

1,263 阅读1分钟

问题

据了解colima可以完美兼容M1 mac,果断从Docker Desktop迁移到colima。 通过以下的命令启动后完美运行x86_64架构和aarch64架构的包

colima start --arch aarch64 --vm-type=vz --vz-rosetta

但是出现一个问题,配置的代理无法使用,无论如何尝试,始终无法使用代理,每次打包时间变得难于忍受,并且经常打包失败。

配置的docker代理

未迁移之前,采用和主机共用网络的方式使用代理,通过clash区分网络流量。在.zshrc中配置代理

# proxy
export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890

# setproxy
alias setproxy="export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890"

# disproxy
alias disproxy="unset http_proxy https_proxy"

通过docker命令的--netwoek=host使用代理,运行的很好

docker build --build-arg --network=host . -t ${name}:${tag}

迁移之后运行很慢,通过clash的log发现docker内的流量并未通过代理,通过如下脚本验证,发现是127.0.0.1:7890无法连接。

FROM node:16  
  
RUN curl https://www.google.com

解决

在本地看起来时 127.0.0.1 但在 docker 中可能会有些差异,由于 colima 环回地址是192.168.5.2 。 重新配置docker代理地址

{
  "proxies": {
     "default":{
         "httpProxy": "http://192.168.5.2:7890",
         "httpsProxy": "http://192.168.5.2:7890"
     }
  }
}

修改配置后就能愉快的使用代理了。 修改前:

截屏2023-09-11 15.00.35.png 修改后:

截屏2023-09-11 15.10.29.png