基于Bellsoft Liberica JDK Alpine Musl的定期更新镜像,提供LTS、当前及之前版本的Java环境。目标用户为使用Maven/Gradle、Testcontainers并打包容器镜像的Java开发者,支持在单个CI/CD作业中完成应用构建、测试、打包镜像及推送至仓库。
81117212524-gradle8:表示安装最新Gradle 8.x.x版本,默认安装9+版本-code-coverage:已弃用,不应使用包含开发过程中常用的工具与依赖:
jq、yq(JSON/YAML处理)git(版本控制)curl、wget(网络请求)tzdata(时区数据)gettext(国际化支持)gcompat(兼容性库)yamllint(YAML校验)fontconfig、ttf-dejavu(字体支持)busybox-extras(额外工具集)适用于以下开发场景:
镜像构建的Dockerfile如下:
dockerfileARG JAVA_VERSION FROM bellsoft/liberica-openjdk-alpine-musl:${JAVA_VERSION} # 需保持更新的参数 ARG DOCKER_VERSION ARG MAVEN3_VERSION ARG GRADLE_VERSION # 二进制文件下载链接 ARG DOCKER_CLI_URL="[***]" ARG MAVEN3_CLI_URL="[***]" ARG GRADLE_CLI_URL="[***]{GRADLE_VERSION}-bin.zip" # 将安装目标添加到PATH ENV PATH="/opt/apache-maven-$MAVEN3_VERSION/bin:/opt/gradle-$GRADLE_VERSION/bin:${PATH}" ARG ADDITIONAL_ALPINE_PACKAGES="curl" # 最终更新OS包 # hadolint ignore=DL3017, DL3018, DL3019 RUN echo "[***]" > /etc/apk/repositories \ && echo "[***]" >> /etc/apk/repositories \ && apk update \ && apk upgrade --available \ && apk add $ADDITIONAL_ALPINE_PACKAGES \ && rm -rf /var/cache/apk/* # ===== ===== ===== 安装Docker CLI ===== ===== ===== RUN curl -s -L -o /tmp/docker-$DOCKER_VERSION.tgz $DOCKER_CLI_URL \ && tar -x -z -C /tmp -f /tmp/docker-$DOCKER_VERSION.tgz \ && mv /tmp/docker/docker /usr/local/bin/ \ && rm -f /tmp/docker-$DOCKER_VERSION.tgz \ && rm -rf /tmp/docker \ && docker --version \ && echo "✔️ Docker CLI ${DOCKER_VERSION} installed." # ===== ===== ===== 安装Apache Maven ===== ===== ===== RUN curl -s -L -o /opt/apache-maven-$MAVEN3_VERSION-bin.zip $MAVEN3_CLI_URL \ && unzip -q -d /opt /opt/apache-maven-$MAVEN3_VERSION-bin.zip \ && rm -f /opt/apache-maven-$MAVEN3_VERSION-bin.zip \ && mvn --version \ && echo "✔️ Maven ${MAVEN3_VERSION} installed." # ===== ===== ===== 安装Gradle ===== ===== ===== RUN curl -s -L -o /opt/gradle-$GRADLE_VERSION-bin.zip $GRADLE_CLI_URL \ && unzip -q -d /opt /opt/gradle-$GRADLE_VERSION-bin.zip \ && rm -f /opt/gradle-$GRADLE_VERSION-bin.zip \ && gradle --version \ && echo "✔️ Gradle ${GRADLE_VERSION} installed."
yamlsome-job: image: rcktsci/java-tooling:25 services: - docker:28-dind variables: MAVEN_OPTS: "-Dmaven.repo.local=${CI_PROJECT_DIR}/.m2/repository" script: - docker run --rm -i hadolint/hadolint < Dockerfile - mvn --batch-mode verify - docker build --tag my-app . - docker push my-app cache: key: .m2 paths: - .m2/repository when: always artifacts: reports: junit: - 'target/surefire-reports/TEST-*.xml' - 'target/failsafe-reports/TEST-*.xml' coverage_report: coverage_format: jacoco path: 'target/site/jacoco/jacoco.xml'
yamlsome-job: image: rcktsci/java-tooling:25 services: - docker:28-dind variables: GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" script: - docker run --rm -i hadolint/hadolint < Dockerfile - gradle --build-cache --info --stacktrace build - docker build --tag my-app . - docker push my-app cache: key: .gradle paths: - .gradle/caches/ - .gradle/wrapper/ - .gradle/build-cache/ when: always artifacts: reports: junit: - 'build/test-results/test/TEST-*.xml'
由于GitLab现已原生支持JaCoCo代码覆盖率报告,-code-coverage标签已弃用,建议直接使用GitLab的内置功能。
在GitLab CI的共享或个人运行器上,需配置以下环境变量以连接Docker守护进程:
yamlvariables: DOCKER_HOST: tcp://docker:2376 DOCKER_TLS_CERTDIR: "/certs" DOCKER_TLS_VERIFY: 1 DOCKER_CERT_PATH: "/certs/client"
详细信息请参考GitLab***文档。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速