У меня есть 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?