Если мы откроем
https://hub.docker.com/_/php, то в разделе «PHP Core Extensions» увидим:
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev
Мы поставим пакеты, соберем контейнер и запустим - всё будет работать.
Через время какой-то пакет, например, libpng-dev, обновится и сломает обратную совместимость.
Мы соберем контейнер ещё раз - и он работать уже не будет, несмотря на то, что у нас старый, рабочий Dockerfile.
Нужно ли в таких случаях указывать конкретные версии пакетов, чтобы ставились именно они, и мы были уверены, что сборка всегда будет одинаковой и рабочей?
Если нет, то почему?