Dockerfile echo specifies the method of implementing multiple lines of text in the specified file

Dockerfile echo specifies the method of implementing multiple lines of text in the specified file

Add multiple lines to the specified file in Dockerfile, pay attention to the "$" symbol after echo

[root@master01 ovn-node]# cat dockerfile 
FROM ovn-node:2.11.2

# sed deletes the specified line RUN sed -i '53d' /root/start-ovs.sh

# Use echo to add multiple lines of content 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"]

Result: Note that the "#" comment line in the multi-line text is not entered into the specified file

[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

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Detailed explanation of the specific use of the ENV instruction in Dockerfile
  • Docker Basic Tutorial: Detailed Explanation of Dockerfile Syntax
  • Explanation of Dockerfile instructions and basic structure
  • Implementation of crawler Scrapy image created by dockerfile based on alpine
  • How to create your own image using Dockerfile
  • How to use Dockerfile to build images in Docker
  • How to use Dockerfile to create a mirror of the Java runtime environment
  • Summary of common commands in Dockerfile
  • Dockerfile text file usage example analysis

<<:  In-depth analysis of MySQL from deleting the database to running away_Advanced (I) - Data Integrity

>>:  Detailed explanation of multi-version concurrency control of large objects in MySQL

Recommend

How to deploy nodejs service using Dockerfile

Initialize Dockerfile Assuming our project is nam...

Summary of three ways to implement ranking in MySQL without using order by

Assuming business: View the salary information of...

Summary of common Linux distribution mirror source configuration

I have been researching Linux recently and tried ...

Summary of basic knowledge and operations of MySQL database

This article uses examples to explain the basic k...

10 bad habits to avoid in Docker container applications

There is no doubt that containers have become an ...

Data URI and MHTML complete solution for all browsers

Data URI Data URI is a scheme defined by RFC 2397...

Solution to the lack of my.ini file in MySQL 5.7

What is my.ini? my.ini is the configuration file ...

Analysis and solution of a MySQL slow log monitoring false alarm problem

Previously, for various reasons, some alarms were...

CSS tips for implementing Chrome tab bar

This time let’s look at a navigation bar layout w...

How to use Nginx to carry rtmp live server

This time we set up an rtmp live broadcast server...

ThingJS particle effects to achieve rain and snow effects with one click

Table of contents 1. Particle Effects 2. Load the...

An example of the difference between the id and name attributes in input

I have been making websites for a long time, but I...