2017-10-06 1528 views
0

时,我正在使用Nexus 3.5.0-02和两个Docker存储库。一个用于快照,一个用于发布。快照库工作正常。但是从昨天开始,当我试图拉取Docker镜像或将Docker镜像推送到发布版本库时,我得到了MissingBolbException。MissingBlobException当从/进入Nexus 3 Docker-Registry

org.sonatype.nexus.repository.storage.RetryDeniedException: Reached max retries: 8/8 
6.10.2017 15:17:14 at org.sonatype.nexus.repository.storage.StorageTxImpl.allowRetry(StorageTxImpl.java:216) 
6.10.2017 15:17:14 at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source) 
6.10.2017 15:17:14 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
6.10.2017 15:17:14 at java.lang.reflect.Method.invoke(Method.java:498) 
6.10.2017 15:17:14 at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53) 
6.10.2017 15:17:14 at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:69) 
6.10.2017 15:17:14 at com.sun.proxy.$Proxy226.allowRetry(Unknown Sour 
. 
. 
. 
6.10.2017 15:17:14Caused by: org.sonatype.nexus.repository.storage.MissingBlobException: Blob [email protected]:abfa2c22-259a-49bd-85de-4d0431dc0174 exists in metadata, but is missing from the blobstore 
6.10.2017 15:17:14 at org.sonatype.nexus.repository.storage.StorageTxImpl.requireBlob(StorageTxImpl.java:847) 
6.10.2017 15:17:14 at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source) 
6.10.2017 15:17:14 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
6.10.2017 15:17:14 at java.lang.reflect.Method.invoke(Method.java:498) 
6.10.2017 15:17:14 at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53) 
6.10.2017 15:17:14 at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39) 
6.10.2017 15:17:14 at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270) 
6.10.2017 15:17:14 at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53) 
6.10.2017 15:17:14 at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:63) 
6.10.2017 15:17:14 at com.sun.proxy.$Proxy226.requireBlob(Unknown Source) 
6.10.2017 15:17:14 at org.sonatype.nexus.repository.docker.internal.DockerHostedFacetImpl.getManifestByTag(DockerHostedFacetImpl.java:745) 
6.10.2017 15:17:14 at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56) 
6.10.2017 15:17:14 ... 147 common frames omitted 

此问题不会在每个Docker映像存储库上发生。但是如果它出现在某个图像上,图像将无法被拉或推。我发现,当我推送图像并发生此异常时,Docker图像的一层无法存储。

我无法解释Nexus内部发生了什么。但是有没有解决方法或解决这个问题?

+0

在https://issues.sonatype.org的“dev - nexus”项目中为此提出问题。 – rseddon

回答

0

我对Nexus 3.7.1-02上的Maven存储库有同样的问题。在我的情况下,这是快照存储库被打破。

Blob [email protected]:4eb114a2-a83f-4601-b40e-d582f198a75f exists in metadata, but is missing from the blobstore 

我设法删除通过Nexus的GUI库,留下团块存储的地方,然后再创建资源库,以解决它。