如何在Dockerfile中使用多行编写命令,同时保留新行?
我想在Dockerfile中写入下面的RUN命令。 但是,docker工人并没有保留新的线路。
RUN echo "[repo] \ name = YUM Repository \ baseurl = https://example.com/packages/ \ enabled = 1 \ gpgcheck = 0" > /etc/yum.repos.d/Repo.repoxyz
我知道在每一行的结尾都会有新的一行。 但是,有没有什么办法可以写出多行保留新的行。
用$'
开始你的命令,用$'
结束'
并用\n\
作为换行符,如下所示:
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
我用printf
。 使用“\ n”将所有文本写入一行。
执行:
RUN printf 'example \ntext \nhere' >> example.txt
刀片:
example text here
在example.txt中
- Docker – php_network_getaddresses错误,当试图连接到数据库
- 为什么Dockerfile中的cron服务没有运行?
- 如何将一个环境variables转换成一个dockerfile
- 为什么在Virtualbox上的Docker找不到我的DockerFile?
- 如何在Docker容器中不安装shell的情况下inheritance环境variables?
- 在Dockerfile中使用mount命令时出错
- Dockerfile:尝试安装ruby-build时,权限被拒绝
- 如何编写一个Dockerfile,我可以启动一个服务并运行一个shell,并接受shell的参数?
- Docker容器:在图像中集成卷