在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 portn
ovs-vsctl add-br br-exn
ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phyNet:br-exn
n
# add nic
ovs-vsctl add-port br-ex ${OVN_PHYNET_NIC}n
n
tail -f /var/log/openvswitch/ovs-vswitchd.logn'
>> /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=geneveOVERLAY_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
您可能感兴趣的文章:Dockerfile中常用命令汇总详解Dockerfile 中的 COPY 与 ADD 命令Dockerfile中CMD和ENTRYPOINT命令详解Docker 基础之Dockerfile命令详解Docker中镜像构建文件Dockerfile与相关命令的详细介绍










