Entenda o espaço reservado de variável para o comando curl no Dockerfile

Entenda o espaço reservado de variável para o comando curl no Dockerfile

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

Estou tentando entender a linha 26 emeste 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' \

Significa $(<.node_version.txt)que algum texto que tenho que definir como o valor esperado ou é usado como está, parte do comando?

Responder1

Isso significa que você precisa ter um arquivo chamado .node_version.txt. Nesse arquivo deve estar o número da versão do nó que você deseja. Por exemplo: v4.6.0ou latest. Para ver strings de versão válidas, acessehttps://nodejs.org/dist/

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

Está 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 umsubstituição de comando. É praticamente equivalente a $(cat filename).

informação relacionada