停止Colima后Docker报错无法连接守护进程的问题求助
问题解决:M2 Mac停Colima后Docker命令行报错,镜像仅显示AMD64架构
问题根源
- Colima启动时会自动把Docker上下文切换为
colima,这个上下文指向Colima虚拟机里的Docker daemon。停止Colima后,命令行依然沿用这个上下文,自然连不上已停止的daemon,就会出现Cannot connect to the Docker daemon报错。 - Docker仪表盘用的是Docker Desktop自带的daemon,和Colima的上下文相互独立,所以能正常运行。
docker images只显示AMD64镜像,是因为当前上下文是Colima的x86_64虚拟机环境,只会加载该环境下的镜像,Docker Desktop的镜像存储在另一个上下文对应的环境里。
解决方法
1. 切换回Docker Desktop上下文
执行以下命令,把Docker命令行的上下文切回Docker Desktop:
docker context use desktop-linux
执行后再运行docker ps就能正常连接到Docker Desktop的daemon,也能看到Docker Desktop里的所有镜像了。
2. 按需切换上下文
- 需要使用Colima的AMD64环境时,切换到colima上下文:
docker context use colima
- 回到Docker Desktop原生环境时,切回desktop-linux上下文:
docker context use desktop-linux
3. 查看当前上下文状态
用以下命令可以查看所有可用的Docker上下文,以及当前正在使用的上下文:
docker context ls
额外提醒
每次启动Colima时,它会自动切换到colima上下文,停止Colima后记得手动切回desktop-linux,避免命令行操作报错。如果需要管理两个环境的镜像,通过切换上下文分别操作即可。
内容的提问来源于stack exchange,提问作者xiaodp
相关产品推荐
相关产品推荐

