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 use mysqldump to backup MySQL data

1. Introduction to mysqldump mysqldump is a logic...

Nginx reverse proxy springboot jar package process analysis

The common way to deploy a springboot project to ...

MySQL paging query optimization techniques

In applications with paging queries, queries that...

Implementation of fuzzy query like%% in MySQL

1, %: represents any 0 or more characters. It can...

Implementation of code optimization for Vue2.x project performance optimization

Table of contents 1 Use of v-if and v-show 2. Dif...

The difference and use of json.stringify() and json.parse()

1. Differences between JSON.stringify() and JSON....

CentOS 6 uses Docker to deploy redis master-slave database operation example

This article describes how to use docker to deplo...

Vue two-choice tab bar switching new approach

Problem Description When we are working on a proj...

How to Find the Execution Time of a Command or Process in Linux

On Unix-like systems, you may know when a command...

JavaScript commonly used array deduplication actual combat source code

Array deduplication is usually encountered during...

How to add Vite support to old Vue projects

1. Introduction I have taken over a project of th...