私はNexus 3.5.0-02と2つのDockerリポジトリを使用しています。 1つはスナップショット用、もう1つはリリース用です。スナップショットリポジトリは正常に動作します。しかし、昨日から、Dockerイメージをプルしたりリリースリポジトリにプッシュしようとすると、MissingBolbExceptionが発生しました。Nexus 3のDocker-RegistryをプルまたはプッシュするときにMissingBlobExceptionが発生する
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画像の1つのレイヤーを保存できないことがわかりました。
Nexus内部で何が起こっているのか説明できません。しかし、その問題の回避策や修正はありますか?
「dev-nexus」プロジェクトのhttps://issues.sonatype.orgで問題を提出してください。 – rseddon