Я создал частный локальный реестр Docker, используя руководство https://hackernoon.com/create-a-private-local-docker-registry-5c79ce912620 и вставил в него две версии пользовательского изображения. Затем я удалил кешированные изображения и попытался извлечь изображение из локального реестра. Проблема в том, что когда я загружаю последнюю версию, она загружает версию 0.1 вместо 0.2.
Вот это docker images
вывод:
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.3.51:5000/ubuntu-avigdor-build-image 0.2 2a11312a4409 12 minutes ago 1.2GB
192.168.3.51:5000/ubuntu-avigdor-build-image 0.1 6c7519e8b4c9 6 days ago 990MB
192.168.3.51:5000/ubuntu-avigdor-build-image latest 6c7519e8b4c9 6 days ago 990MB
Как видите, изображение с тегом latest имеет идентификатор изображения, равный изображению с тегом 0.1. Это не то, что я хочу.
Как я могу заставить Docker извлекать образ версии 0.2, когда я прошу последнюю версию? Я что-то пропустил, когда нажимал и отмечал изображения?
«Последний» - это просто еще один тег, который на самом деле следует называть «по умолчанию», но менять это уже поздно. Тег может указывать на что угодно, не обязательно на самую последнюю версию. Вы можете выбрать самый последний стабильный выпуск. Некоторые избегают использования каких-либо последних тегов, заставляя людей выбирать основной номер версии, который они хотят использовать, что помогает, если вы делаете semver.
Вы управляете значением последнего тега, отправляя манифест изображения с этим тегом:
docker pull 192.168.3.51:5000/ubuntu-avigdor-build-image:0.2
docker tag 192.168.3.51:5000/ubuntu-avigdor-build-image:0.2 \
192.168.3.51:5000/ubuntu-avigdor-build-image:latest
docker push 192.168.3.51:5000/ubuntu-avigdor-build-image:latest