Docker - upgrade obrazu bazowego, a wersjonowanie - dobra praktyka

0

Mam sobie obrazy Dockera dla mojej aplikacji, bazujące na jakimś innym obrazie, dostarczonym przez kogoś innego, choćby Microsoftowy mcr.microsoft.com/dotnet/core/aspnet:2.1.

Taki obraz zawiera silnie wersjonowaną (semver) wersję mojej aplikacji example - dajmy na to 1.0.0, więc ja go też nazywam mojerepozytorium/example:1.0.0. Przyszła sobie sytuacja, że obraz bazowy został zaktualizowany, bo wyszła choćby łatka bezpieczeństwa.

Żeby zaktualizować mój obraz muszę go przebudować. I teraz pytanie: powinienem podbić wersję mojej aplikacji i dostarczyć obraz mojerepozytorium/example:1.0.1 czy zostawić go z wersją 1.0.0? W zasadzie moja aplikacja się nie zmieniła przecież, a tagi są mutowalne, więc mogę to zrobić. Jaka jest najlepsza praktyka?

3

Podbić. Nigdy nie nadpisuj taga (chyba, że latest).
To już nie jest ten sam obraz. Nie myl użytkowników.

1

Taki obraz zawiera silnie wersjonowaną (semver) wersję [...]
Przyszła sobie sytuacja, że obraz bazowy został zaktualizowany, bo wyszła choćby łatka bezpieczeństwa.

Czyli dokładnie jak to jest opisane w punkcie trzecim https://semver.org i jak kolega wyżej podpowiada

Given a version number MAJOR.MINOR.PATCH, increment the:

1. MAJOR version when you make incompatible API changes,
2. MINOR version when you add functionality in a backwards compatible manner, and
3. PATCH version when you make backwards compatible bug fixes.

1 użytkowników online, w tym zalogowanych: 0, gości: 1