如何使用Docker Hub注册表/公证程序调试失败的Docker映像签名?

时间:2018-10-03 13:25:38

标签: docker notary

从今天开始,由于图像签名失败,我一直无法将新的已签名图像推送到Docker Hub私有存储库。我已启用Docker Content Trust。除了几天前例行为Ubuntu安装最新的安全更新外,我不知道环境中可能发生的任何重大变化。但是在这些升级之后,签名图像推送确实起作用了。

我的问题是,如何调试与签名相关的问题?谷歌搜索或小鸭子搜索似乎不多。

我尝试运行notary CLI,但似乎并没有提供太多帮助。没有很好地记录不同命令的各种选项。

环境:

  • 操作系统:Ubuntu 18.04.1 LTS
  • Docker版本18.06.1-ce,内部版本e68fc7a
  • 相关环境变量:

    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时,推送图像没有问题。

2 个答案:

答案 0 :(得分:0)

存在一个与此问题完全相同的问题:

https://github.com/docker/hub-feedback/issues/1646

加入这个问题可能是个好主意。

答案 1 :(得分:0)

根本原因是Docker Hub Notary中的性能下降问题。参见the resolution by Docker support