如何在保留新行的同时在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

回到顶部