проверьте, доступна ли более новая версия докеров

У меня есть приватный репозиторий докеров, и я хочу проверить, доступна ли более новая версия изображения докеров или нет. Я попытался:

curl -kvu "myuser:mypasswd" -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X HEAD https://myrepo:5000/v2/myimage/manifests/i386

Я получил ответ вроде этого:

< HTTP/1.1 200 OK < Content-Length: 9080 < Content-Type: application/vnd.docker.distribution.manifest.v2+json < Docker-Content-Digest: sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf < Docker-Distribution-Api-Version: registry/2.0 < Etag: "sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf" < X-Content-Type-Options: nosniff

Какое поле в заголовке ответа должно сравниваться с локальными метаданными изображения?

0
задан 11 September 2017 в 12:45

3 ответа

curl -kvu "myuser:mypasswd" -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X HEAD https://myrepo:5000/v2/myimage/manifests/<tag>

Вернет ответ следующим образом:

< HTTP/1.1 200 OK
< Content-Length: 9080
< Content-Type: application/vnd.docker.distribution.manifest.v2+json
< Docker-Content-Digest: sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf
< Docker-Distribution-Api-Version: registry/2.0
< Etag: "sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf"
< X-Content-Type-Options: nosniff

Docker-Content-Digest: поле должно быть проверено на digest локального изображения

docker images --digests myrepo:5000/myimage
REPOSITORY                         TAG                 DIGEST                                                                    IMAGE ID            CREATED             SIZE
myrepo:5000/myimage   i386                sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf   b9e9c7f4a462        6 days ago          491 MB

docker images --digests myrepo:5000/myimage Должен быть запущен без тега (i386 в этом случае)

Если дайджесты не совпадают, то появляется более новая версия изображения. Таким образом, в основном вы проверяете дайджест удаленного и локального изображения. Если они не совпадают, доступна более новая версия.

1
ответ дан 22 May 2018 в 18:34
curl -kvu "myuser:mypasswd" -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X HEAD https://myrepo:5000/v2/myimage/manifests/<tag>

Вернет ответ следующим образом:

< HTTP/1.1 200 OK < Content-Length: 9080 < Content-Type: application/vnd.docker.distribution.manifest.v2+json < Docker-Content-Digest: sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf < Docker-Distribution-Api-Version: registry/2.0 < Etag: "sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf" < X-Content-Type-Options: nosniff

Docker-Content-Digest: поле должно быть проверено на digest локального изображения

docker images --digests myrepo:5000/myimage REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE myrepo:5000/myimage i386 sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf b9e9c7f4a462 6 days ago 491 MB

docker images --digests myrepo:5000/myimage Должен быть запущен без тега (i386 в этом случае)

Если дайджесты не совпадают, то появляется более новая версия изображения. Таким образом, в основном вы проверяете дайджест удаленного и локального изображения. Если они не совпадают, доступна более новая версия.

1
ответ дан 18 July 2018 в 07:03
curl -kvu "myuser:mypasswd" -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X HEAD https://myrepo:5000/v2/myimage/manifests/<tag>

Вернет ответ следующим образом:

< HTTP/1.1 200 OK < Content-Length: 9080 < Content-Type: application/vnd.docker.distribution.manifest.v2+json < Docker-Content-Digest: sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf < Docker-Distribution-Api-Version: registry/2.0 < Etag: "sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf" < X-Content-Type-Options: nosniff

Docker-Content-Digest: поле должно быть проверено на digest локального изображения

docker images --digests myrepo:5000/myimage REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE myrepo:5000/myimage i386 sha256:5891d3d01fcdb5ec7dc8a27f25360b132510c7b92369ad50926c27ca7d7cfacf b9e9c7f4a462 6 days ago 491 MB

docker images --digests myrepo:5000/myimage Должен быть запущен без тега (i386 в этом случае)

Если дайджесты не совпадают, то появляется более новая версия изображения. Таким образом, в основном вы проверяете дайджест удаленного и локального изображения. Если они не совпадают, доступна более новая версия.

1
ответ дан 24 July 2018 в 18:44

Другие вопросы по тегам:

Похожие вопросы: