问题
据了解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"
}
}
}
修改配置后就能愉快的使用代理了。 修改前:
修改后: