Nic*_*vin 6 docker docker-image
众所周知,摘要是不可变的,而标签是可变的。在许多情况下,您需要保证在服务的生命周期内使用相同的确切图像,那么引用摘要是更好的选择。它被认为是生产环境的最佳实践(请参阅此和此)。
摘要的问题是,虽然不可变且有用,但它们不可读。所有示例都使用摘要或标签。但实践表明,两者都可以使用。只是省略了标签。
例如:
docker run --rm k8s.gcr.io/pause-amd64:3.1@sha256:59eec8837a4d942cc19a52b8c09ea75121acc38114a2c68b98983ce9356b8610
kubectl create deployment pause --image k8s.gcr.io/pause-amd64:3.1@sha256:59eec8837a4d942cc19a52b8c09ea75121acc38114a2c68b98983ce9356b8610
Run Code Online (Sandbox Code Playgroud)
使用该<image_path>:<tag>@sha256:<digest>
模式安全吗?
看起来这绝对是合法的。
是的,当摘要存在时,该标签将被忽略。
你甚至可以创建一个标签,它仍然会通过摘要拉取图像:
docker image pull k8s.gcr.io/pause-amd64:some-made-up-tag@sha256:59eec8837a4d942cc19a52b8c09ea75121acc38114a2c68b98983ce9356b8610
sha256:59eec8837a4d942cc19a52b8c09ea75121acc38114a2c68b98983ce9356b8610: Pulling from pause-amd64
Digest: sha256:59eec8837a4d942cc19a52b8c09ea75121acc38114a2c68b98983ce9356b8610
Status: Image is up to date for k8s.gcr.io/pause-amd64@sha256:59eec8837a4d942cc19a52b8c09ea75121acc38114a2c68b98983ce9356b8610
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
716 次 |
最近记录: |