dockerfile echo指定文件多行文本的方法实现

2025-05-27 0 91

在dockerfile中给指定文件添加多行,注意echo后面的"$"符号

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
[root@master01 ovn-node]# cat dockerfile

FROM ovn-node:2.11.2

# sed 删除指定行

RUN sed -i '53d' /root/start-ovs.sh

# 用echo添加多行内容

RUN echo $'OVERLAY_ENDPOINT=`hostname -i`\\n\\

ovs-vsctl set open . external-ids:ovn-encap-ip=${OVERLAY_ENDPOINT}\\n\\

\\n\\

# create a bridge , then mapping outside port\\n\\

ovs-vsctl add-br br-ex\\n\\

ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phyNet:br-ex\\n\\

\\n\\

# add nic

ovs-vsctl add-port br-ex ${OVN_PHYNET_NIC}\\n\\

\\n\\

tail -f /var/log/openvswitch/ovs-vswitchd.log\\n'\\

>> /root/start-ovs.sh

CMD ["/bin/bash","/root/start-ovs.sh"]

结果: 注意多行文本中"#" 注释行,并没有输入到指定文件中

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14
[root@master01 ovn-node]# cat /root/start-ovs.sh

# Set remote ovn-sb for ovn-controller to connect to

ovs-vsctl set open . external-ids:ovn-remote=tcp:${OVN_SB_SERVICE_HOST}:${OVN_SB_SERVICE_PORT}

ovs-vsctl set open . external-ids:ovn-encap-type=geneve

OVERLAY_ENDPOINT=`hostname -i`

ovs-vsctl set open . external-ids:ovn-encap-ip=${OVERLAY_ENDPOINT}

ovs-vsctl add-br br-ex

ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phyNet:br-ex

ovs-vsctl add-port br-ex ${OVN_PHYNET_NIC}

tail -f /var/log/openvswitch/ovs-vswitchd.log

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:https://segmentfault.com/a/1190000020399038

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 行业资讯 dockerfile echo指定文件多行文本的方法实现 https://www.kuaiidc.com/66301.html

相关文章

发表评论
暂无评论