顶不住了,快疯了, Mac 上使用 colima 安装 docker 到底怎么才能改源啊

2025 年 1 月 9 日
 Jinnrry

在公司使用 docker ,由于 docker-desktop 授权问题,换到 colima 。于是便开始了折磨

1 、安装 colima 官方的安装方式,使用 brew 安装完 colima 和 docker client 非常流程,毫无卡点

2 、安装完后测试 docker ps 、docker images 等命令,都没有问题。非常开心,居然这么顺利就换掉 docker-desktop 了

3 、docker pull 发现拉不下来镜像。没事,这个我熟,熟练的修改~/.docker/daemon.json,改为源后,结果发现 docker pull 依然走官方源

4 、搜了下 colima 原理,原来他底层就是一个虚拟机,那我懂了,得去他的虚拟机里面改配置文件。按照网上说的,通过colima ssh顺利进入虚拟机,然后准备改配置,结果发现这个虚拟机里面没有vim等命令,没法改配置。

5 、看了下虚拟机版本,使用的是 ubuntu 。那就简单了,闭着眼睛敲了了个sudo apt update && apt install vim 。敲我之后发现,tmd 虚拟机内 ubuntu 的源也连不通。没事,这我也熟,闭着眼睛覆盖掉/etc/apt/source.list。覆盖完之后发现 apt 还是用不了,又看了下source.list的原文件,上面写着Ubuntu sources have moved to the /etc/apt/sources.list.d/ubuntu.sources ,这好像还是用的 ubuntu clound 版本,于是又看了下/etc/apt/sources.list.d/ubuntu.sources,好像是模板生成的,上面注释写着要改镜像模板,我去你大爷的,我哪知道你模板在哪啊

6 、喝杯水冷静了一些,想了想,我是为了改 docker 配置啊,费这么大劲跟 apt 较什么劲啊。于是秀一波操作echo 'xxxxx' > ~/.docker/daemon.json 成功修改配置文件。感叹还好自己基本功扎实,没有 vim vi 这些编辑工具,照样有办法改配置文件。

7 、改为配置文件后,当然得重启了,敲下一个colima restart,然后dokcer info一看,我去,没生效啊。再进虚拟机一看,你大爷的,配置文件给我还原了。

8 、又去网上一通搜索,网上说要改~/.colima/default/colima.yaml配置,于是又照着网上说的,把 docker 源写到这里面,写完发现colima start根本起不来了,又费了九牛二虎之力,改了半天格式,好不容易把 colima 虚拟机启动起来了,但是 docker pull 还他大爷走的官方源

9 、又在网上一通搜索,网上又有人说要通过colima start --edit编辑配置文件,于是又照着改,改了半天发现虚拟机又起不来了。colima start --edit~/.colima/default/colima.yaml这两个文件反复核对反复改,改了无数遍,虚拟机终于起来了。docker info里面的registry_mirrors也变了。激动得不行,感叹终于没问题了。结果他大爷的一拉镜像,还是走的官方源。

10 、反复检查我配置的源,检查了无数遍,我又拿服务器去测试了一下,源肯定是可以用的,服务器上使用这个源都是正常的。而且这个源肯定也是没有被墙的,本地 ping 、tcpping 、telnet 各种花式测试,都是通的。

11 、濒临崩溃,不知所以,怀疑人生,上 v 站发个帖,哪个大哥走过路过帮忙看看

12 、md ,狗屎玩意,抬头一看时间,8 点了。瞎几把搞了一天,需求一行代码都还没写,收拾收拾下班,明天再来

2859 次点击
所在节点    Docker
11 条回复
doghappy
2025 年 1 月 9 日
colima start --edit
然后改下配置
docker:
registry-mirrors:
- https://MY_REGISTRY_MIRROR

详情进 https://github.com/abiosoft/colima/issues/225#issuecomment-1204906341
izoabr
2025 年 1 月 9 日
要不试试用 orbstack
Jinnrry
2025 年 1 月 10 日
@doghappy 没用,这个配置我改了一万遍了。还是走官方源去拉镜像

docker pull nginx
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Jinnrry
2025 年 1 月 10 日
@izoabr 看了一眼,官网写着

Free to try, no card required
Always free for personal use

商用 8 刀一个月
lucasdev
2025 年 1 月 10 日
啊,不行吗。我同样的操作是正常使用的

brew install colima

vim ~/.colima/default/colima.yaml

将 docker:{} 改成
docker:
registry-mirrors:
- https://<your-mirror>

然后执行 docker info ,就能看到生效了。docker pull 什么都正常
Registry Mirrors:
https://<your-mirror>
doghappy
2025 年 1 月 10 日
@Jinnrry 我前几天刚试过,一次生效,可能你把环境搞污染了
doghappy
2025 年 1 月 10 日
实在不行,你 pull 镜像时带上 URL ,手动 pull
Jinnrry
2025 年 1 月 10 日
@lucasdev
@doghappy #1 我知道原因了,我加了我自己的反代源,还加了 10 多个公开的 docker 源,特喵的竟然没有一个能用的。这些源个把月前都还是能用的。太离谱了
Jinnrry
2025 年 1 月 10 日
@doghappy #7 具体原因加到 append 里面了,WTF GFW
rockcat
2025 年 2 月 1 日
拆腻子 IT 工作者有三分之一的职业生涯是在与 GFW 斗智斗勇
yjaal
2025 年 4 月 11 日
@Jinnrry 大佬,我的问题也是这个,修改倒是没问题,docker info 都可以看到配置是成功的,就是拉取的时候就一直请求 docker.io ,不知道网络是哪里没设置对呀。你说的反代源是哪里?我的梯子上面也没排出这个域名诶

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1103984

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX