从今天开始,由于图像签名失败,我无法将新签名的图像推送到 Docker Hub 私有存储库。我启用了 Docker 内容信任。我不知道我的环境中有任何重大变化可能会影响到这一点,除了几天前例行安装最新的安全更新到 Ubuntu 之外。但是在这些升级之后,签名图像推送确实起作用了。
我的问题是,如何调试与签名相关的问题?谷歌搜索或duckduckgoing似乎没有多少可用的。
我尝试运行公证 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 时,推送图像没有问题。