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

这篇文章主要介绍了dockerfile echo指定文件多行文本的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在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 

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

以上就是dockerfile echo指定文件多行文本的方法实现的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 站长技巧