При установке apk на alpine можно указать версию, например apk add ffmpeg=3.0.7-r0
. В контейнерах это типичный сценарий, потому что вы хотите что-то неизменное, поэтому вы добавляете в файл Docker:
RUN apk add --no-cache ffmpeg=3.0.4-r1
проблема в том, что через некоторое время вы можете (будете) получить ошибку примерно так:
ERROR: unsatisfiable constraints:
ffmpeg-3-0.7.0-r0:
breaks: world[ffmpeg=3.0.4-r1]
Поэтому необходимо изменить версию и переустановить пакет. Я читал, что устанавливать ограничения версий небезопасно, так как версию можно удалить из репозитория, совет не указывать версию и "пусть apk обрабатывает ее" - для меня это действительно странно, может быть, я чего-то не понял , Если удалить версию, то вы на самом деле не неизменны, и вещи, которые могут отличаться на разных машинах, в конечном итоге получают ошибки.
Какова стратегия получения неизменяемой версии контейнера с установленными такими пакетами?