How to execute Linux shell commands in Docker

How to execute Linux shell commands in Docker

To execute a shell command in Docker, you need to add sh -c before the command, for example:

docker run ubuntu sh -c 'cat /data/a.txt > b.txt'

Otherwise, the instruction cannot be parsed normally.

Supplement: [Docker application] Execute the specified script in docker (run springboot application under docker)

【Docker application】 Execute the specified script in docker

Here is an example of executing a spring boot application:

1. Create an image file (template) to execute the sh script

Dockfile
FROM vertigomedia/ubuntu-jdk8
RUN touch /root/app_start.sh
RUN echo "#!/bin/bash" > /root/app_start.sh
RUN echo "echo 111" >> /root/app_start.sh
RUN chmod a+x /root/app_start.sh
ENV TZ 'Asia/Shanghai'
ENV APP_FILE /root/app_start.sh
EXPOSE 8889
CMD $APP_FILE
#ENTRYPOINT ["/bin/sh", "-c", "$APP_FILE"]

2. Create a script file (script to be executed in the container)

container.sh
#!/bin/bash
echo "test xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
java -jar -Xms500m -Xmx500m -Dspring.profiles.active=test-docker-1 /root/app.jar

3. Create a startup script (here is just the startup command)

docker run -itd \
 --name test_container \
 --hostname test_container \
 --net test_net --ip 170.170.1.199 \
 --volume /root/container.sh:/root/app_start.sh \
 --volume /opt/test-1.0.0-SNAPSHOT.jar:/root/app.jar \
 --privileged=true \
 test:123 /bin/bash -c 'sh /root/app_start.sh'

The above is my personal experience. I hope it can give you a reference. I also hope that you will support 123WORDPRESS.COM. If there are any mistakes or incomplete considerations, please feel free to correct me.

You may also be interested in:
  • The most comprehensive collection of commonly used Linux commands (with examples)
  • Java implements command interaction code under docker container in Linux (centos) (configuration wizard)
  • A complete list of commonly used Linux commands (super comprehensive)
  • How to save command output to a file in Linux terminal
  • Several useless but interesting commands in Linux (collection)

<<:  Introduction to the use of MySQL source command

>>:  CSS animation property usage and example code (transition/transform/animation)

Recommend

Tutorial on disabling and enabling triggers in MySQL [Recommended]

When using MYSQL, triggers are often used, but so...

Vue3.0 handwriting magnifying glass effect

The effect to be achieved is: fixed zoom in twice...

Advantages of MySQL covering indexes

A common suggestion is to create indexes for WHER...

Dissecting the advantages of class over id when annotating HTML elements

There are very complex HTML structures in web pag...

Use vue to implement handwritten signature function

Personal implementation screenshots: Install: npm...

JavaScript implements asynchronous acquisition of form data

This article example shares the specific code for...

Reasons and solutions for failure to insert emoji expressions in MySQL

Failure Scenario When calling JDBC to insert emoj...

Forever+nginx deployment method example of Node site

I recently bought the cheapest Tencent cloud serv...

Detailed explanation of the use of Vue Smooth DnD, a draggable component of Vue

Table of contents Introduction and Demo API: Cont...

Sample code for seamless scrolling with flex layout

This article mainly introduces the sample code of...

Detailed explanation of how to manually deploy a remote MySQL database in Linux

1. Install mysql Run the following command to upd...