저는 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)
.