如何在保留新行的同时在Dockerfile中编写多行命令?
我想在Dockerfile中编写以下RUN命令。但是,泊坞窗不保留新行。
RUN echo "[repo] \name = YUM Repository \
baseurl = https://example.com/packages/ \
enabled = 1 \
gpgcheck = 0" > /etc/yum.repos.d/Repo.repoxyz
我知道\
每一行的末尾都会转义新行。但是,有什么办法可以写多行来保存新行?
回答:
您可以将称为“ ANSI-C引用” $'...'
。它最初是
功能,但现在可以在
和
(但仅当使用ENABLE_ASH_BASH_COMPAT编译时才可用)。
由于默认情况下RUN
/bin/sh
用作shell,因此您需要先使用SHELL指令切换到bash之类的功能。
以开头的命令$'
,以结尾的命令,'
并\n\
用于换行符,如下所示:
SHELL ["/bin/bash", "-c"]RUN echo $'[repo] \n\
name = YUM Repository \n\
baseurl = https://example.com/packages/ \n\
enabled = 1 \n\
gpgcheck = 0' > /etc/yum.repos.d/Repo.repoxyz
以上是 如何在保留新行的同时在Dockerfile中编写多行命令? 的全部内容, 来源链接: utcz.com/qa/410701.html