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