У меня есть Dockerfileдля создания образа Docker, который основан на Alpine Linux. Теперь мне нужно установить пакет как часть этого Dockerfile.
В настоящее время у меня есть:
RUN apk update && \
apk upgrade && \
apk add git
По-видимому, это плохая идея, так как результат является недетерминированным. Вместо этого, это зависит от момента, когда я создаю образ, какая версия gitустанавливается.
Как правильно это сделать?
Я думаю, что я должен сказать updated, upgradeи addкакие версии использовать, но как мне это сделать?
Я видел, что это apkподдерживает закрепление репозиториев, но это не то, что я хочу (по крайней мере, я так думаю), потому что я не хочу закреплять репозиторий, а пакет.
Другими словами: если gitбы можно было установить через npm, я бы смог запустить:
npm install git@1.9.2
(или любую другую версию, которую я хочу иметь). Что эквивалентно этому для Alpine Linux?