本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!Docker Stars - !Docker Pulls
本仓库提供的Docker镜像用于在Docker容器中构建所有eXo Platform组件,适用于开发和持续集成场景。镜像包含构建eXo Platform组件所需的Dockerfile、测试用例和环境配置,旨在提供标准化、可重复的构建环境,确保开发和CI流程的一致性。
以下是eXo CI镜像的详细信息,包含JDK版本、依赖工具及测试配置:
| 镜像名称 | JDK版本 | Python版本 | GCC版本 | 构建工具 | 测试配置文件 |
|---|---|---|---|---|---|
| exoplatform/ci:base | n/a | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:base-alpine | n/a | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:jdk6 | 1.6.0_45 | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:jdk7 | 1.7.0_80 | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:jdk8 | 1.8.0_181 | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:jdk11 | 11.0.19 | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:jdk17 | 17.0.7 | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:jdk17-alpine | 17.0.7 | 2.7 & 3 | 4.8 | n/a | goss.yaml |
| exoplatform/ci:jdk8-gradle2 | 1.8.0_181 | 2.7 & 3 | 4.8 | Gradle 2.14 | goss.yaml |
| exoplatform/ci:jdk8-gradle2-android | 1.8.0_181 | 2.7 & 3 | 4.8 | Gradle 2.14 / Android 23/24 | goss.yaml |
| exoplatform/ci:jdk8-gradle4 | 1.8.0_181 | 2.7 & 3 | 4.8 | Gradle 4.1 | goss.yaml |
| exoplatform/ci:jdk8-gradle4-android | 1.8.0_181 | 2.7 & 3 | 4.8 | Gradle 4.1 / Android 23/24/25/26/27 | goss.yaml |
| exoplatform/ci:jdk8-gradle6 | 1.8.0_181 | 2.7 & 3 | 4.8 | Gradle 6.1 | goss.yaml |
| exoplatform/ci:jdk8-gradle6-android | 1.8.0_181 | 2.7 & 3 | 4.8 | Gradle 6.1 / Android 23/24/25/26/27 | goss.yaml |
| exoplatform/ci:jdk6-maven30 | 1.6.0_45 | 2.7 & 3 | 4.8 | Maven 3.0.5 | goss.yaml |
| exoplatform/ci:jdk6-maven32 | 1.6.0_45 | 2.7 & 3 | 4.8 | Maven 3.2.5 | goss.yaml |
| exoplatform/ci:jdk7-maven30 | 1.7.0_80 | 2.7 & 3 | 4.8 | Maven 3.0.5 | goss.yaml |
| exoplatform/ci:jdk7-maven32 | 1.7.0_80 | 2.7 & 3 | 4.8 | Maven 3.2.5 | goss.yaml |
| exoplatform/ci:jdk8-maven30 | 1.8.0_181 | 2.7 & 3 | 4.8 | Maven 3.0.5 | goss.yaml |
| exoplatform/ci:jdk8-maven32 | 1.8.0_181 | 2.7 & 3 | 4.8 | Maven 3.2.5 | goss.yaml |
| exoplatform/ci:jdk8-maven33 | 1.8.0_181 | 2.7 & 3 | 4.8 | Maven 3.3.9 | goss.yaml |
| exoplatform/ci:jdk8-maven35 | 1.8.0_181 | 2.7 & 3 | 4.8 | Maven 3.5.4 | goss.yaml |
| exoplatform/ci:jdk11-maven32 | 11.0.19 | 2.7 & 3 | 4.8 | Maven 3.2.5 | goss.yaml |
| exoplatform/ci:jdk11-maven33 | 11.0.19 | 2.7 & 3 | 4.8 | Maven 3.3.9 | goss.yaml |
| exoplatform/ci:jdk11-maven35 | 11.0.19 | 2.7 & 3 | 4.8 | Maven 3.5.4 | goss.yaml |
| exoplatform/ci:jdk11-maven36 | 11.0.19 | 2.7 & 3 | 4.8 | Maven 3.6.3 | goss.yaml |
| exoplatform/ci:jdk11-maven38 | 11.0.19 | 2.7 & 3 | 4.8 | Maven 3.8.8 | goss.yaml |
| exoplatform/ci:jdk11-mavend08 | 11.0.19 | 2.7 & 3 | 4.8 | Mavend 0.8.2 | goss.yaml |
| exoplatform/ci:jdk17-maven36 | 17.0.7 | 2.7 & 3 | 4.8 | Maven 3.6.3 | goss.yaml |
| exoplatform/ci:jdk17-maven38 | 17.0.7 | 2.7 & 3 | 4.8 | Maven 3.8.8 | goss.yaml |
| exoplatform/ci:jdk17-mavend08 | 17.0.7 | 2.7 & 3 | 4.8 | Mavend 0.8.2 | goss.yaml |
| exoplatform/ci:jdk17-mavend09 | 17.0.7 | 2.7 & 3 | 4.8 | Mavend 0.9.0 | goss.yaml |
| exoplatform/ci:jdk17-maven39 | 17.0.7 | 2.7 & 3 | 4.8 | Maven 3.9.2 | goss.yaml |
| exoplatform/ci:jdk17-maven39-alpine | 17.0.7 | 2.7 & 3 | 4.8 | Maven 3.9.2 | goss.yaml |
执行测试需先安装dgoss(Goss的Docker封装工具)。
通过项目根目录的脚本批量构建并测试所有镜像:
$ ./test_all_images.sh
进入目标镜像的测试目录,执行测试脚本:
$ cd maven/jdk7-maven32/tests $ ./test_image.sh INFO: 启动Docker容器 INFO: 容器ID: 59897f6f INFO: 等待0.2秒 INFO: 运行测试 标题: 验证eXo全局设置文件是否存在 文件: /usr/share/maven/conf/settings.xml: 存在: 符合预期: [true] 标题: 验证Maven仓库目录是否存在 文件: /home/ciagent/.m2/repository: 存在: 符合预期: [true] 标题: 验证eXo用户设置文件是否不存在 文件: /home/ciagent/.m2/settings.xml: 存在: 符合预期: [false] 标题: 检查git是否安装 包: git: 已安装: 符合预期: [true] 命令: mvn --version: 退出状态: 符合预期: [0] 命令: mvn --version: 标准输出: 符合预期: [3.2.5 1.7.0 默认语言环境: en_US, 平台编码: UTF-8] 总耗时: 0.650s 测试总数: 6, 失败: 0, 跳过: 0 INFO: 删除容器 real 0m2.929s user 0m0.064s sys 0m0.288s
通过docker run命令挂载项目目录、Maven仓库和设置文件,使用jdk7-maven30镜像构建项目:
$ cd my-project $ docker run --name=my-project-build -it \ -v $(pwd):/srv/ciagent/workspace \ # 挂载当前项目目录到容器工作区 -v ~/.m2/repository:/home/ciagent/.m2/repository \ # 共享本地Maven仓库,加速构建 -v ~/.m2/settings.xml:/home/ciagent/.m2/settings.xml \ # 挂载Maven设置文件 exoplatform/ci:jdk7-maven30 clean package # 执行Maven构建命令
如需使用GPG签名发布版本,挂载GPG密钥文件并指定Release Profile:
$ cd my-project $ docker run --name=my-project-build -it \ -v $(pwd):/srv/ciagent/workspace \ -v ~/.m2/repository:/home/ciagent/.m2/repository \ -v ~/.m2/settings.xml:/home/ciagent/.m2/settings.xml \ -v ~/.gnupg/pubring.gpg:/home/ciagent/.gnupg/pubring.gpg:ro \ # 只读挂载公钥环 -v ~/.gnupg/secring.gpg:/home/ciagent/.gnupg/secring.gpg:ro \ # 只读挂载私钥环 -v ~/.gnupg/gpg.conf:/home/ciagent/.gnupg/gpg.conf:ro \ # 挂载GPG配置 exoplatform/ci:jdk8-maven32 install -Prelease # 使用Release Profile执行安装
使用puppet镜像验证Puppet模块配置:
$ cd my-project # 进入包含Puppet代码的目录 $ docker run --name puppet-validation -it \ -v ${PWD}:/srv/ciagent/workspace \ # 挂载项目目录到容器工作区 exoplatform/ci:puppet # 执行Puppet验证
如需强制更新Puppet模块(通过r10k),添加-u参数:
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429