私はこれの底に到達するためにかなりの時間を費やしました。私が達成しようとしているのは、docker-composeからビルド引数として接続文字列をdockerfileに渡すことです。以下は、問題を再現する非常に単純なスニペットです。 Write-Host ${SOMEARG}
の出力は常にnullです。以下dockerfile持つドッカーファイルARGは常にnull
:
Step 1/4 : FROM microsoft/iis
---> 85fb57957cf1
Step 2/4 : ARG SOMEARG=test
---> Running in 84a7fc37994c
Removing intermediate container 84a7fc37994c
---> 2099e56f466f
Step 3/4 : SHELL ["powershell", "-command"]
---> Running in 61852677a26a
Removing intermediate container 61852677a26a
---> b934f778c13b
Step 4/4 : RUN Write-Host 'HERE:'; Write-Host ${SOMEARG}
---> Running in 3fde911ecdc1
HERE:
Removing intermediate container 3fde911ecdc1
---> 5331ce22c3ec
Successfully built 5331ce22c3ec
'ARG'行の後に置かれた' ENV SOMEARG = $ {SOMEARG} 'は物事を改善しますか? – BMitch
@BMitchは残念ながらしません。私は実際にそのコンセプトを理解するかどうかは不明です。 – Dimt
'RUN echo $ {SOMEARG}' – yamenk