Entenda a variável placeholder para o comando curl no Dockerfile

1

Estou aprendendo sobre o Dockerfile e não tinha trabalhado com o curl antes.

Estou tentando entender a linha 26 em este Dockerfile .

&& bash -c 'curl "https://nodejs.org/dist/$(<.node_version.txt)/node-$(<.node_version.txt)-linux-x64.tar.gz" > /home/meteorapp/meteorapp/build/required-node-linux-x64.tar.gz' \

$(<.node_version.txt) significa que algum texto que eu tenho que criar como o valor esperado ou é usado como parte do comando?

    
por Fred J. 01.10.2016 / 12:15

1 resposta

2

Isso significa que você precisa ter um arquivo chamado .node_version.txt . Nesse arquivo deve ser o número da versão do nó que você deseja. Por exemplo: v4.6.0 ou latest . Para ver sequências de versão válidas, aceda ao link

O que acontece é que essa construção $(<.node_version.txt) é substituída pelo conteúdo do arquivo.

Esta linha

https://nodejs.org/dist/$(<.node_version.txt)/node-$(<.node_version.txt)-linux-x64.tar.gz

torna-se

https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.gz

A construção $(<filename) é uma variante especial de uma substituição de comando . É praticamente equivalente a $(cat filename) .

    
por 01.10.2016 / 12:30

Tags