나는 Dockerfile에 대해 배우고 있으며 이전에는 컬을 사용해 본 적이 없습니다.
26행을 이해하려고 노력 중입니다.이 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)
기대하는 값으로 제시해야 하는 일부 텍스트가 명령의 일부인 그대로 사용된다는 의미 입니까 ?
답변1
즉, 이라는 파일이 있어야 합니다 .node_version.txt
. 해당 파일에는 원하는 노드의 버전 번호가 있어야 합니다. 예: v4.6.0
또는 latest
. 유효한 버전 문자열을 보려면 다음으로 이동하세요.https://nodejs.org/dist/
$(<.node_version.txt)
무슨 일이 일어나는가는 이 구성이 파일의 내용으로 대체된다는 것입니다 .
이 줄
https://nodejs.org/dist/$(<.node_version.txt)/node-$(<.node_version.txt)-linux-x64.tar.gz
된다
https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.gz
구조는 $(<filename)
다음의 특별한 변형입니다.명령 대체. 와 실질적으로 동일합니다 $(cat filename)
.