从今天开始,由于图像签名失败,我一直无法将新的已签名图像推送到Docker Hub私有存储库。我已启用Docker Content Trust。除了几天前例行为Ubuntu安装最新的安全更新外,我不知道环境中可能发生的任何重大变化。但是在这些升级之后,签名图像推送确实起作用了。
我的问题是,如何调试与签名相关的问题?谷歌搜索或小鸭子搜索似乎不多。
我尝试运行notary CLI,但似乎并没有提供太多帮助。没有很好地记录不同命令的各种选项。
环境:
相关环境变量:
DOCKER_CONTENT_TRUST = 1 DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE = [未公开] DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE = [未公开]
失败命令:
docker push xyz/abc:def
样本输出(从无关部分中混淆):
user@machine:~$ source .docker-signing-credentials
user@machine:~$ export DOCKER_CONTENT_TRUST=1
user@machine:~$ docker push myorg/myproject:myimage_v1.38.0
The push refers to repository [docker.io/myorg/myproject]
c72506834af4: Layer already exists
043ae531d76e: Layer already exists
... 8< ... snip ... 8< ...
af840f32f0a2: Layer already exists
8decd5535924: Layer already exists
myimage_v1.38.0: digest: sha256:baa3e1148e0100df8cbb0aab46200be2bdf600d7802d7cddb3a23c12053af82d size: 8883
Signing and pushing trust metadata
failed to sign docker.io/myorg/myproject:myimage_v1.38.0: An error occurred during validation: rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure
当我取消设置DOCKER_CONTENT_TRUST时,推送图像没有问题。