笔者在mac下安装Rancher Desktop后,在终端使用docker build命令构建镜像时报错,通过docker --version可以查看到docker版本为Docker version 20.10.17-rd, build c2e4e01,但使用docker images查看镜像列表或docker ps -a查看容器列表时,爆出Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running的错误。
当前环境:
Mac环境:macOs 12.6.3
Rancher Desktop:1.6.2
Kubernetes:v1.25.6
通过排查发现:
此问题跟Rancher Desktop设置的容器引擎(Container Engine)有关系,容器引擎支持两种:分别为
containerd和dockerd

两者的一个重要区别:dockerd支持使用docker build/push/save/load 等命令或调用docker API时,containerd不支持。
所以在有需要使用build docker镜像是,需要将容器引擎设置为dockerd。
设置方法:
Rancher Desktop——Preferences——Container Engine——dockerd。

设置完后,在命令行测试,ok可以正常使用:

在Mac环境下,使用RancherDesktopv1.6.2并配置Kubernetesv1.25.6时,遇到Dockerdaemon连接错误。问题源于选择了containerd作为容器引擎,而非dockerd。由于dockerd支持dockerbuild等命令,为进行镜像构建,需将容器引擎切换至dockerd。完成设置后,终端中的docker命令能正常运行。

被折叠的 条评论
为什么被折叠?



