問題描述
如何在 eclipse‑che 環境中配置 docker 引擎 (How to configure docker engine inside eclipse‑che environment)
我有一個 mac,我已經使用命令在 docker‑desktop 中使用 chectl 安裝了 eclipse che
chectl server:deploy ‑‑platform=docker‑desktop ‑‑installer=helm
為了安裝任何插件/apk,我們必須有自己的接收器,所以我構建了一個自定義配方使用 docker 文件並使用了來自 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 workspace / $ docker images 中的 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 守護進程是否正在運行?有人可以幫我嗎?
參考解法
方法 1:
The best way to use a docker inside the eclipse che env is to use buildah plugin which requires no additional setup as it does not requires any root access. In the devfile, just add this plugin
‑ id: moby/buildkit/latest
type: chePlugin
And you can run all the docker commands.