Como instalar uma versão de pacote específico em Alpine?
Tenho um Dockerfile
para construir uma imagem Docker que é baseada no Linux alpino. Agora preciso de instalar um pacote como parte deste Dockerfile
.
Actualmente tenho:
RUN apk update && \
apk upgrade && \
apk add git
Aparentemente esta é uma má ideia, pois o resultado é não-determinista. Em vez disso, depende do momento em que construo a imagem, qual a versão de git
que está a ser instalada.
Qual é a forma correcta de o fazer?
Acho que tenho de dizer updated
, upgrade
e add
quais as versões a utilizar, mas como o faço?
Já vi que apk
suporta a localização de repositórios, mas não é isso que eu quero (pelo menos penso que sim), porque não quero localizar um repositório, mas sim um pacote.
Por outras palavras: Se o git
pudesse ser instalado via npm
, seria capaz de correr:
npm install git@1.9.2
(ou qualquer versão que eu queira ter). Qual é o equivalente a isto para o Alpine Linux?