Вы не можете этого сделать.image:
должен назвать точный тег версии или не иметь тега и использовать подразумеваемую версию ...:latest
.В общем, Docker просто не поддерживает это;Нет простого способа поиска доступных изображений по тегу и сопоставлению с регулярным выражением или глобусом оболочки, вы должны знать, что вы ищете.Даже если у вас есть список тегов, нет универсального определения того, что является «самым новым».
Вы пометили это как «kubernetes».Если на самом деле это вопрос Kubernetes, лучший способ сделать это - настроить систему непрерывного развертывания, чтобы обновить для вас развертывание Kubernetes.Kubernetes попытается запустить новые модули с новой версией перед удалением старых, поэтому вы должны получить обновление без простоев.( Helm - это распространенный инструмент для ввода таких параметров; если обновление идет не так, как обычно, оно также поддерживает откат обновления.)
В вашем примере используется Docker Compose.Поле image:
является одним из мест, где работает подстановка переменных , поэтому вы можете установить
image: "test-001-com:3000/img:${IMAGE_VERSION:-latest}"
, а затем установить IMAGE_VERSION
в качестве переменной среды или в файле .env
в том же каталоге.