Devo Dockerfile
creare un'immagine Docker basata su Alpine Linux. Ora devo installare un pacchetto come parte di questo Dockerfile
.
Attualmente ho:
RUN apk update && \
apk upgrade && \
apk add git
Apparentemente questa è una cattiva idea, in quanto il risultato non è deterministico. Invece, dipende dal momento in cui creo l'immagine, quale versione di git
viene installata.
Qual è il modo corretto di farlo?
Credo che devo dire updated
, upgrade
e add
quali versioni da usare, ma come faccio a fare questo?
Ho visto che apk
supporta il pinning dei repository, ma non è quello che voglio (almeno lo penso), perché non voglio aggiungere un repository, ma un pacchetto.
In altre parole: se git
potesse essere installato tramite npm
, sarei in grado di eseguire:
npm install git@1.9.2
(o qualsiasi versione che voglio avere). Qual è l'equivalente di questo per Alpine Linux?