欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-04-25 17:49:35
在dockerfile中给指定文件添加多行,注意echo后面的"$"符号 [root@master01 ovn-node]# cat dockerfile from ov...

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

[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"]

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

[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

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