CHE machine exec 是基于Go语言的服务器端组件,用于为Eclipse CHE工作区创建machine-execs,支持生成终端或命令进程。该组件通过JSON-RPC协议与客户端进行通信。
手动构建che-machine-exec Docker镜像:
bashdocker build --no-cache -t eclipse/che-machine-exec .
手动运行che-machine-exec Docker容器:
bashdocker run --rm -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock eclipse/che-machine-exec
在Docker基础设施上配置Eclipse CHE时,需使用che.env配置文件(位于CHE的data目录中)。编辑并保存che.env文件,将docker.sock路径(默认路径为/var/run/docker.sock)应用到工作区卷属性CHE_WORKSPACE_VOLUME:
示例:
bashCHE_WORKSPACE_VOLUME=/var/run/docker.sock:/var/run/docker.sock;
注意:所有配置更改需重启Eclipse CHE后生效。
启动Eclipse CHE后,可从堆栈“Theia IDE on docker”创建集成Theia IDE的新Eclipse CHE工作区。随后可通过以下方式测试che-machine-exec:借助eclipse-che-theia-terminal测试 和 借助che-theia-task-plugin测试
需先在本地OpenShift部署Eclipse CHE。准备Eclipse CHE部署环境
可使用https://github.com/eclipse/che/blob/master/deploy/openshift/ocp.sh%E5%B0%86Eclipse CHE部署到本地运行的OpenShift:
进入ocp.sh脚本目录:
bashcd ~/projects/che/deploy/openshift/
带参数运行ocp.sh:
bash./ocp.sh --run-ocp --deploy-che --no-pull --debug --deploy-che-plugin-registry --multiuser
输出中将提供已部署Eclipse CHE项目的链接,用于登录。
注意:可使用
--setup-ocp-oauth参数,但此时需在登录页面使用“Openshift v3”认证方式。
在登录页面注册新用户,登录后将重定向至Eclipse CHE用户仪表板。创建基于“Java Theia on OpenShift”或“CHE 7”堆栈的新工作区并运行,待工作区启动后将显示Theia IDE,随后可进行上述两种测试。
需先在Minishift部署Eclipse CHE。准备Eclipse CHE部署环境
参考以下文档安装Minishift:
下载对应平台的oc二进制文件(https://github.com/openshift/origin/releases%EF%BC%89%EF%BC%8C%E8%A7%A3%E5%8E%8B%E5%B9%B6%E6%B7%BB%E5%8A%A0%E8%87%B3%E7%B3%BB%E7%BB%9FPATH%EF%BC%8C%E9%AA%8C%E8%AF%81%E5%AE%89%E8%A3%85%EF%BC%9A
bash$ oc version oc v3.9.0+191fece kubernetes v1.9.1+a0ce1bc657 features: Basic-Auth GSSAPI Kerberos SPNEGO
启动Minishift:
bash$ minishift start --memory=8GB -- Starting local OpenShift cluster using 'kvm' hypervisor... ... OpenShift server started. The server is accessible via web console at: https://192.168.99.128:8443 You are logged in as: User: developer Password: developer To login as administrator: oc login -u system:admin
从输出中获取Minishift master URL(示例:https://192.168.42.159:8443),保存为环境变量:
bashexport CHE_INFRA_KUBERNETES_MASTER__URL=https://192.168.42.162:8443
注意:删除并重新创建Minishift虚拟机后,此URL可能变更。
在CHE_INFRA_KUBERNETES_MASTER__URL页面注册新用户,使用oc登录:
bash$ oc login --server=${CHE_INFRA_KUBERNETES_MASTER__URL}
使用deploy_che.sh脚本部署CHE:
bashcd ~/projects/che/deploy/openshift/ export CHE_INFRA_KUBERNETES_MASTER__URL=${CHE_INFRA_KUBERNETES_MASTER__URL} && ./deploy_che.sh --no-pull --debug --multiuser
创建并运行基于“Java Theia on OpenShift”或“CHE 7”堆栈的工作区,随后进行测试。
需先在Minikube集群部署Eclipse CHE。准备Eclipse CHE部署环境
启动Minikube:
bashminikube start --cpus 2 --memory 8192 --extra-config=apiserver.authorization-mode=RBAC
进入helm/che目录:
bash$ cd ~/projects/che/deploy/kubernetes/helm/che
kube-system:default账户添加cluster-admin角色:bashkubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default
bashkubectl config use-context minikube
bashkubectl create serviceaccount tiller --namespace kube-system
bashkubectl apply -f ./tiller-rbac.yaml
bashhelm init --service-account tiller
bashminikube addons enable ingress
两种部署配置:
bashhelm upgrade --install che --namespace che ./
bashhelm upgrade --install che --namespace=che --set global.cheWorkspacesNamespace=che ./
信息:部署多用户CHE可使用参数:
-f ./values/multi-user.yaml。可通过--set global.ingressDomain=<domain>设置ingress域名。 注意:可通过Minikube仪表板跟踪部署:
bashminikube dashboard
创建基于“CHE 7”堆栈的工作区并运行,随后进行测试。
要求:已安装Java 8+和Maven 3.3.0+
首先克隆Eclipse CHE仓库:
$ git clone https://github.com/eclipse/che.git ~/projects/che
测试无需构建完整CHE,构建'assembly-main' Maven模块即可:
$ cd ~/projects/che/assembly/assembly-main $ mvn clean install -DskipTests
基于Theia堆栈创建的Eclipse CHE工作区包含che-theia-terminal-extension。通过以下方式测试:
终端 => 在特定容器中打开终端,选择机器后,底部面板将显示新终端。Ctrl + Shift + P,输入terminal,通过方向键选择终端创建命令并按Enter启动。基于Theia堆栈的工作区包含che-theia-task-plugin。测试步骤:
.theia文件夹,在其中创建tasks.json文件,内容如下:json{ "tasks": [ { "label": "che", "type": "che", "command": "echo hello" } ] }
终端 => 运行任务...,Theia将显示输出窗口,内容为'echo hello'。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务