如何在 eclipse-che 环境中配置 docker 引擎

How to configure docker engine inside eclipse-che environment

我有一个 mac 并且我已经使用 chectl 在 docker-desktop 中使用 command

安装了 eclipse che
chectl server:deploy --platform=docker-desktop --installer=helm

为了安装任何 plugins/apks 我们必须有自己的接收器所以 我使用 docker 文件构建了自定义配方并使用了图像 来自 docker:dind 将其推送到 docker hub,我的开发文件看起来像这样,其中 amoldeshpande/custom-node-test 是我的 docker 文件推送到 dockerhub

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 命令时 / $ docker 图片 无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护程序。 docker 守护程序是 运行ning 吗? 我收到此错误。

我发现它需要特权访问,所以我编辑了 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 守护程序是 运行ning 吗? 有人可以帮我吗?

在 eclipse che env 中使用 docker 的最佳方法是使用 buildah 插件,它不需要额外的设置,因为它不需要任何 root 访问权限。 在devfile中,只需添加这个插件

 - id: moby/buildkit/latest
   type: chePlugin

并且您可以 运行 所有 docker 命令。