Mar*_*ici 6 docker google-kubernetes-engine
我正在做以下事情:
docker build -t gcr.io/projid/imgname:333 -t gcr.io/projid/imgname:latest 。
docker login -u _json_key -p "$(cat /secrets/service-account.json)" https://gcr.io
docker push gcr.io/projid/imgname:333
docker push gcr.io/projid/imgname:latest
第一个推送命令的输出:
Pushing to google container registry ...
The push refers to a repository [gcr.io/projid/imgname]
24af4f7c7118: Preparing
17b0972980d8: Preparing
6d6a6425aacb: Preparing
809c8c0dd73c: Preparing
e8d45b8ab3ca: Preparing
e8fa134cb7b8: Preparing
7cbcbac42c44: Preparing
e8fa134cb7b8: Waiting
7cbcbac42c44: Waiting
809c8c0dd73c: Layer already exists
e8d45b8ab3ca: Layer already exists
7cbcbac42c44: Layer already exists
e8fa134cb7b8: Layer already exists
17b0972980d8: Pushed
24af4f7c7118: Pushed
6d6a6425aacb: Pushed
333: digest: sha256:dae8cf914ba49928e6f0a34f6740802403813e6d10aa1c1d448a62ce9bb69066 size: 1779
Run Code Online (Sandbox Code Playgroud)
第二个推送命令的输出:
Pushing to google container registry ...
The push refers to a repository [gcr.io/projid/imgname]
24af4f7c7118: Preparing
17b0972980d8: Preparing
6d6a6425aacb: Preparing
809c8c0dd73c: Preparing
e8d45b8ab3ca: Preparing
e8fa134cb7b8: Preparing
7cbcbac42c44: Preparing
e8fa134cb7b8: Waiting
7cbcbac42c44: Waiting
e8d45b8ab3ca: Layer already exists
809c8c0dd73c: Layer already exists
24af4f7c7118: Layer already exists
17b0972980d8: Layer already exists
6d6a6425aacb: Layer already exists
7cbcbac42c44: Layer already exists
e8fa134cb7b8: Layer already exists
latest: digest: sha256:4f57375919829982741d095f8917306fe0c1410e115d030179bae4b8e4299c30 size: 1742
Run Code Online (Sandbox Code Playgroud)
问题:为什么同一个带有两个标签的镜像会在 google 容器注册表中生成两个不同的镜像?
小智 2
您肯定会推送两个图像标签。我建议使用单个标签进行构建,然后添加第二个标签并逐个推送图像标签。如果第二个添加了新的摘要,则属于 GCR 错误。我遇到了这个错误并通过删除存储库来解决,以便在下一次推送时重新创建它。在我的配置中,Docker 版本也是一个因素。版本 17.04.0-ce,构建 4845c56 将触发额外摘要,而版本 17.03.1-ce,构建 c6d412e 则可以正常工作。
归档时间: |
|
查看次数: |
1360 次 |
最近记录: |