Fixar versão do pacote alpino linux (no container)

2

É possível especificar a versão ao instalar o apk no alpine por exemplo apk add ffmpeg=3.0.7-r0 . Em contêineres, é um cenário típico, porque você quer algo imutável, então adicione o arquivo do Docker:

RUN apk add --no-cache ffmpeg=3.0.4-r1

o problema é que algum tempo depois você pode (irá) receber o erro algo assim:

ERROR: unsatisfiable constraints:
  ffmpeg-3-0.7.0-r0:
    breaks: world[ffmpeg=3.0.4-r1]

Portanto, é necessário alterar a versão e reinstalar o pacote. Eu li que não é seguro para definir restrições de versão, como a versão pode ser removida do repo, o conselho para não especificar a versão e "deixe apk manuseá-lo" - para mim isso é realmente estranho, talvez eu não consegui algumas coisas . Se para remover a versão, bem você não é realmente imutável e coisa que pode ser diferente em máquinas diferentes, eventualmente, obter erros de.

Qual é a estratégia para obter uma versão imutável do container com tais pacotes instalados?

    
por WHITECOLOR 10.04.2017 / 09:54

1 resposta

0

Não é possível usar o apk, mas construir os programas a partir da fonte permite definir a versão específica. Confira as imagens oficiais do nodejs para exemplos. Eles constroem a partir da fonte para manter versões específicas de nodejs

    
por 08.10.2017 / 17:06