问题描述
我有一台 mac,我已经使用命令在 docker-desktop 中使用 chectl 安装了 eclipse che
chectl server:deploy --platform=docker-desktop --installer=helm
为了安装任何插件/apks,我们必须有自己的recepie 所以 我使用 docker 文件构建了一个自定义配方并使用了图像 从码头工人:dind 将它推送到 docker hub,我的 devfile 看起来像这样,其中 amoldeshpande/custom-node-test 是我推送到 dockerhub 的 docker 文件
apiVersion: 1.0.0
Metadata:
name: test
components:
- mountSources: true
endpoints:
- name: test
port: 3000
memoryLimit: 512Mi
type: dockerimage
alias: nodejs
image: amoldeshpande/custom-node-test
现在当我在 eclipse che 工作区中运行 docker 命令时 / $ 泊坞窗图像 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。 docker 守护进程是否正在运行? 我收到此错误。
我发现它需要特权访问,所以我编辑了 che 部署文件
kubectl edit deployment che -n eclipse-che
和
securityContext:
privileged: true
kubectl rollout restart deployment/che -n eclipse-che
而且,我仍然遇到同样的错误。 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。 docker 守护进程是否正在运行? 有人可以帮我吗?
解决方法
在 eclipse che env 中使用 docker 的最佳方法是使用 buildah 插件,它不需要额外的设置,因为它不需要任何 root 访问权限。 在devfile中,添加这个插件
- id: moby/buildkit/latest
type: chePlugin
并且您可以运行所有 docker 命令。