如何在Dockerfile中将单行ARG字符串参数拆分为多行
Dockerfile ARG参数单行拆多行实现方案
你猜测使用\折行的思路是正确的,只需要注意反斜杠的放置位置即可,以下是两种常用场景的写法:
场景1:变量值与原单行写法完全一致(无多余空格/换行)
如果你需要拆分后VAR的取值仍为something something2 something3 ... somethingN,和原单行效果完全相同,写法如下:
ARG VAR="something \ something2 \ something3 \ ... \ somethingN"
注意规则:
- 反斜杠
\必须放在行尾,且后面不能有任何字符(包括空格、制表符) - 反斜杠要写在引号内部
- 下一行开头不要加额外缩进,避免多余空格被写入变量值
场景2:允许变量值包含多余缩进空格(仅追求配置文件排版对齐)
如果你只需要Dockerfile本身的配置排版对齐,能接受变量值中包含缩进带来的多余空格,可以直接加缩进对齐:
ARG VAR="something \ something2 \ something3 \ .... \ somethingN"
场景3:需要变量值内部保留换行符
如果你希望VAR的值本身就是按行分隔的,不需要空格拼接,直接换行即可,不需要加反斜杠:
ARG VAR="something something2 something3 .... somethingN"
内容的提问来源于stack exchange,提问作者sony
相关产品推荐
相关产品推荐

