You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Quarkus+Jib构建Docker镜像时,不安全Gitea仓库URL生成错误求助

Quarkus Jib构建Docker镜像时Gitea仓库URL错误导致推送失败

问题场景

使用Quarkus 3.15.4结合Gitea动作流水线,通过Jib构建并推送Docker镜像到Gitea容器仓库,但Jib生成了错误的仓库URL,导致推送失败返回404。

执行的Maven构建命令

mvn install -Pdev -DskipTests=true -DsendCredentialsOverHttp=true
-Dquarkus.application.version=${{gitea.ref_name}} 
-Dquarkus.container-image.build=true 
-Dquarkus.container-image.name=docker/user-rest 
-Dquarkus.container-image.tag=${{gitea.ref_name}} 
-Dquarkus.container-image.push=true 
-Dquarkus.container-image.insecure=true 
-Dquarkus.container-image.registry=gitea.demmtop.local 
-Dquarkus.container-image.username=XXX 
-Dquarkus.container-image.password=xxxx

构建失败日志

[INFO] --- quarkus:3.15.4:build (default) @ user-rest ---
[WARNING] [io.quarkus.agroal.deployment.AgroalProcessor] The Agroal dependency is present but no JDBC datasources have been defined.
[WARNING] [io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor] Hibernate ORM is disabled because no JPA entities were found
[INFO] [io.quarkus.kubernetes.deployment.PropertyUtil] Kubernetes manifests are generated with 'The container port http' having default value '8080'. The app and manifests will get out of sync if the property 'quarkus.http.port' is changed at runtime.
[INFO] [io.quarkus.container.image.jib.deployment.JibProcessor] Starting (local) container image build for jar using jib.
[WARNING] [io.quarkus.container.image.jib.deployment.JibProcessor] Base image 'registry.access.redhat.com/ubi8/openjdk-21-runtime:1.20' does not use a specific image digest - build may not be reproducible
[WARNING] [io.quarkus.container.image.jib.deployment.JibProcessor] Cannot verify server at https://gitea.demmtop.local/v2/. Attempting again with no TLS verification.
[WARNING] [io.quarkus.container.image.jib.deployment.JibProcessor] Cannot verify server at https://gitea.demmtop.local/v2/token?service=container_registry&scope=repository:root/docker/user-rest:pull,push. Attempting again with no TLS verification.
[INFO] [io.quarkus.container.image.jib.deployment.JibProcessor] Using base image with digest: sha256:8beb2186d175ec9cede987a467dfa3a1a0b6e6e2db508525d95436cf3f6afbc3
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  21.635 s
[INFO] Finished at: 2025-03-31T22:58:28+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:3.15.4:build (default) on project user-rest: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]     [error]: Build step io.quarkus.container.image.jib.deployment.JibProcessor#buildFromJar threw an exception: java.lang.RuntimeException: Unable to create container image
[ERROR]     at io.quarkus.container.image.jib.deployment.JibProcessor.containerize(JibProcessor.java:273)
[ERROR]     at io.quarkus.container.image.jib.deployment.JibProcessor.buildFromJar(JibProcessor.java:200)
[ERROR]     at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
[ERROR]     at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
[ERROR]     at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
[ERROR]     at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
[ERROR]     at java.base/java.lang.Thread.run(Thread.java:1583)
[ERROR]     at org.jboss.threads.JBossThread.run(JBossThread.java:483)
[ERROR] Caused by: com.google.cloud.tools.jib.registry.RegistryErrorException: Tried to push BLOB for gitea.demmtop.local/root/docker/user-rest with digest sha256:e156c76c7d86756efcdb1a8e08c25fb239738fc045e35a84328a87de0d18d174 but failed because: registry returned error code 404; possible causes include invalid or wrong reference. Actual error output follows:
[ERROR] Not found.
[ERROR] Caused by: com.google.api.client.http.HttpResponseException: 404 Not Found
[ERROR] POST https://gitea.demmtop.local/v2/root/docker/user-rest/blobs/uploads/
[ERROR] Not found.

URL问题说明

Jib生成的错误URL格式:

  • https://gitea.demmtop.local/v2/root/docker/user-rest
  • https://gitea.demmtop.local/root/docker/user-rest

正确的Gitea容器仓库URL应为:

  • http://gitea.demmtop.local/docker/user-rest

错误的URL格式类似Sonatype Nexus仓库的结构,而非Gitea所需的格式。


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

火山引擎 最新活动