You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Eclipse Che工作区项目Docker镜像并存储至私有Docker仓库

获取Eclipse Che工作区项目的Docker镜像

我来帮你梳理两种可行的方案——不管是手动导出运行中工作区的镜像,还是配置Che自动构建并推送到私有Docker仓库,都能满足你和ESA科学家的需求,下面分步骤说明:

一、手动导出运行中工作区的镜像

如果只是临时需要把当前工作区的状态打包成镜像,可以按以下步骤操作:

  • 步骤1:定位工作区对应的容器
    你可以通过Che的UI进入工作区详情页,查看各个组件的容器ID;或者在Che所在的服务器上执行docker ps,找到对应工作区的容器(容器名称一般包含工作区ID和组件标识)。

  • 步骤2:将容器提交为镜像
    用docker commit命令把容器的当前状态保存为自定义镜像:

    docker commit <容器ID> <自定义镜像名>:<标签>
    

    举个例子:docker commit abc123 esa-sat-algorithm:v1.0

  • 步骤3:推送到私有Docker仓库
    先登录你的私有仓库:

    docker login <私有仓库地址>
    

    给镜像打上私有仓库的标签:

    docker tag <自定义镜像名>:<标签> <私有仓库地址>/<自定义镜像名>:<标签>
    

    最后推送镜像到仓库:

    docker push <私有仓库地址>/<自定义镜像名>:<标签>
    

二、配置Eclipse Che自动构建并推送镜像到私有仓库

如果需要让科学家们一键完成构建和推送,推荐通过Devfile配置自动化流程,这里用Kaniko(无需Docker daemon,更适配K8s环境下的Che)为例:

1. 编辑项目的Devfile

在你的项目根目录创建或修改.devfile.yaml,添加构建组件和命令:

schemaVersion: 2.2.0
metadata:
  name: esa-algorithm-workspace
components:
  # 定义Kaniko构建组件
  - name: kaniko-builder
    container:
      image: gcr.io/kaniko-project/executor:debug
      volumeMounts:
        - name: docker-config
          path: /kaniko/.docker
      # 按需分配资源,确保构建顺利
      resources:
        limits:
          cpu: "2"
          memory: 4Gi
        requests:
          cpu: "1"
          memory: 2Gi
# 挂载私有仓库的认证信息
volumes:
  - name: docker-config
    secret:
      secretName: private-registry-secret
commands:
  # 定义构建并推送的命令
  - id: build-push-to-registry
    exec:
      component: kaniko-builder
      commandLine: >-
        /kaniko/executor
        --context=/projects/你的项目名称
        --dockerfile=/projects/你的项目名称/Dockerfile
        --destination=私有仓库地址/你的镜像名:latest
        # 如果私有仓库是HTTP协议,添加下面这行
        # --insecure-registry=私有仓库地址
      workingDir: /projects/你的项目名称
      group:
        kind: build
        isDefault: true

2. 创建私有仓库的认证Secret

在Che所在的Kubernetes集群中,创建存储私有仓库账号密码的Secret(也可以通过Che UI的工作区设置,添加Docker Registry类型的Secret):

kubectl create secret docker-registry private-registry-secret \
  --docker-server=私有仓库地址 \
  --docker-username=你的仓库用户名 \
  --docker-password=你的仓库密码 \
  --namespace=你的Che工作区所在命名空间

3. 运行构建命令

在Che工作区中,打开命令面板(按F1或点击左侧命令图标),找到build-push-to-registry命令并执行,Che会自动启动Kaniko构建镜像并推送到你的私有仓库。

三、关键注意事项

  • 如果私有仓库使用自签名SSL证书,需要把证书文件挂载到Kaniko容器的/kaniko/ssl/certs目录,或者在命令中添加--custom-certificate=证书路径参数,确保Kaniko能信任该证书。
  • 要确认Che的Kubernetes集群能访问到你的私有仓库,检查防火墙、路由规则等网络配置是否正常。
  • 对于ESA的科学家用户,可以把构建命令设为默认任务,让他们只需点击一次就能完成镜像构建和推送,降低操作门槛。

内容的提问来源于stack exchange,提问作者Teddy Kossoko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:33:03