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.0
ou 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)
.