Dockerfileでカールコマンドの変数プレースホルダを理解する

Dockerfileでカールコマンドの変数プレースホルダを理解する

私は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)

おすすめ記事