为什么Colima无法找到Docker守护程序?

22
我很久以前就开始使用Mac上的Docker桌面版。目前,Docker桌面版在启动方面存在巨大问题。每次我开始工作时,都需要进行一些调整才能运行或卸载并重新安装,这需要几个小时来修复。
因此,我开始使用其他适用于Mac的Docker桌面版替代品,即通过Git链接安装的Colima(Linux容器在Mac上)。
我使用Docker客户端来安装Docker运行时: brew install docker 并通过终端登录 docker login重要的是,在卸载与Docker有关的所有内容后,使用Colima,上述所有配置都可以正常工作,包括Docker桌面版 当我运行docker info时,我收到了以下消息:
$ docker info
Client:
 Context:    default
 Debug Mode: false

Server:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info

这里还有一些可能需要的其他信息:

$ colima version
colima version 0.4.2
git commit: f112f336d05926d62eb6134ee3d00f206560493b

runtime: docker
arch: x86_64
client: v20.10.17
server: v20.10.11

kubernetes
Client Version: v1.24.1
Kustomize Version: v4.5.4
Server Version: v1.23.6+k3s1

操作系统:macOS Monterey 版本:12.3.1(21E258)
非常感谢您的帮助。
6个回答

38
在StackOverflow上发布问题后,我一直在不断地搜索解决方案。最终花了一天时间才将其修复(对我来说)。在谷歌上搜索时,我在此链接中找到了解决方案。基本上,Colima使用$HOME/.colima/docker.sock,所以我首先运行ls -la ~/.colima检查是否有任何内容在~/.colima中,我发现docker.sock在那里。因此,我通过运行以下命令设置了DOCKER_HOST:$ export DOCKER_HOST="unix://$HOME/.colima/docker.sock",然后运行:$ docker info。现在显示与Docker服务器相关的所有信息:)
Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 29
  Running: 19
  Paused: 0
  Stopped: 10
 Images: 19
 Server Version: 20.10.11
 .....

9
正常的方法(在Colima文档中有记录)是使用“docker context use colima”命令,将您的Docker上下文指向Colima。或者使用“docker context use default”命令返回到Docker。您实际上可以同时运行两个容器。 - rfay
它对我来说无法工作,显示“当前上下文“colima”在文件系统中未找到,请检查您的配置文件”。 - Siddiqui Noor
3
在过去的一年左右时间里,Colima 在 colima start 时创建了一个 Docker 上下文。您可以使用 docker context ls 命令来显示当前可用的上下文。我会执行 docker context rm colima 命令,然后再运行 colima start 命令,让 Colima 再次创建它。 - rfay
docker context ls 给了我这个结果:"当前上下文“colima”在文件系统中未找到,请检查您的配置文件 /Users/someuser/.docker/config.json"。 - Siddiqui Noor
你尝试过首先使用 docker context use default 进行切换吗?或者它是否给出了相同的问题?最重要的是,你的 .docker/config.json 文件中包含无效信息。你可以手动编辑它,甚至删除它。我建议你从 mv .docker/config.json .docker/config.json.bak 开始,然后看看情况如何。 - rfay

28

我遇到了相同的问题,因为在安装Docker之前我启动了Colima,我运行了以下命令:

$ colima delete
$ colima start

终端打印:

INFO[0000] starting colima                             
INFO[0000] runtime: docker

科利马 Docker 已经工作正常!


这对我来说有效,使用的是2012年款Macbook Pro上的MacOS Ventura OCLP。 - dixon1e

5
最好将docker-host添加到.zshrc文件中。
export DOCKER_HOST="unix://$HOME/.colima/docker.sock"


请注意,如果您卸载了Colima并重新安装Docker桌面版,则只需在. zshrc文件中注释上述行。

0
简单的解决方案如下:
  1. 在你的~/.bashrc文件末尾添加export DOCKER_HOST="unix:///Users/dmitry/.colima/default/docker.sock"
  2. 执行source ~/.bashrc命令使配置文件生效
  3. 重启colima:执行colima stopcolima start命令
对我来说,这个解决方案很有效。

0

我曾经遇到过同样的问题,即使在执行了colima delete之后错误仍然存在,然后我使用了colima start --edit并将运行时更改为docker。

# Container runtime to be used (docker, containerd).
# Default: docker
runtime: docker

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接