So führen Sie Linux-Shell-Befehle in Docker aus

So führen Sie Linux-Shell-Befehle in Docker aus

Um einen Shell-Befehl in Docker auszuführen, müssen Sie vor dem Befehl sh -c hinzufügen, zum Beispiel:

Docker führt Ubuntu aus sh -c 'cat /data/a.txt > b.txt'

Andernfalls kann die Anweisung nicht normal analysiert werden.

Ergänzung: [Docker-Anwendung] Führen Sie das angegebene Skript im Docker aus (führen Sie die Springboot-Anwendung unter Docker aus).

【Docker-Anwendung】 Führen Sie das angegebene Skript im Docker aus

Hier ist ein Beispiel für die Ausführung einer Spring-Boot-Anwendung:

1. Erstellen Sie eine Bilddatei (Vorlage), um das SH-Skript auszuführen

Dockdatei
VON vertigomedia/ubuntu-jdk8
Führen Sie den Befehl touch /root/app_start.sh aus.
RUN echo "#!/bin/bash" > /root/app_start.sh
Führen Sie echo "echo 111" aus >> /root/app_start.sh
RUN chmod a+x /root/app_start.sh
ENV TZ „Asien/Shanghai“
ENV APP_FILE /root/app_start.sh
EXPOSE 8889
CMD $APP_FILE
#ENTRYPOINT ["/bin/sh", "-c", "$APP_FILE"]

2. Erstellen Sie eine Skriptdatei (Skript, das im Container ausgeführt werden soll)

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

3. Erstellen Sie ein Startskript (hier ist nur der Startbefehl)

docker run -itd \
 --name Testcontainer \
 --hostname Testcontainer \
 --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 \
 --privilegiert=true \
 test:123 /bin/bash -c 'sh /root/app_start.sh'

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Die umfassendste Sammlung häufig verwendeter Linux-Befehle (mit Beispielen)
  • Java implementiert Befehlsinteraktionscode unter Docker-Containern in Linux (CentOS) (Konfigurationsassistent)
  • Eine vollständige Liste häufig verwendeter Linux-Befehle (super umfassend)
  • So speichern Sie die Befehlsausgabe in einer Datei im Linux-Terminal
  • Mehrere nutzlose, aber interessante Befehle in Linux (Sammlung)

<<:  Einführung in die Verwendung von MySQL-Quellbefehlen

>>:  Verwendung von CSS-Animationseigenschaften und Beispielcode (Übergang/Transformation/Animation)

Artikel empfehlen

JS versteht die Zeitzonen GMT und UTC genau

Inhaltsverzeichnis Vorwort 1. GMT Was ist GMT Ges...

Beispiel zum Ändern des Zeilenabstands einer HTML-Tabelle

Bei der Verwendung von HTML-Tabellen müssen wir m...

Verwenden Sie CSS, um zwischen dem Dunkelmodus und dem Hellmodus zu wechseln

In der fünften Ausgabe von Web Skills wird ausdrü...

Vue implementiert grafischen Überprüfungscode

In diesem Artikelbeispiel wird der spezifische Co...

Native JS-Canvas zum Erzielen einer einfachen Schlange

In diesem Artikel wird der spezifische Code von J...

vue $set implementiert die Zuweisung von Werten zu Array-Sammlungsobjekten

Vue $set Array-Sammlungsobjektzuweisung In der be...

Spezifische Verwendungsanweisungen für MySQL-Joins

Inhaltsverzeichnis Join-Syntax: 1. InnerJOIN: (In...

Die 7 besten VSCode-Erweiterungen für Vue-Entwickler

Das Hinzufügen der richtigen VS Code-Erweiterung ...

Tipps zum Listenaufbau für Website-Wartungsseiten

Und oft ist es für Wartungsarbeiten erforderlich, ...

Vue führt weltweit SCSS (Mixin) ein

Inhaltsverzeichnis 1. mixin.scss 2. Einzeldateinu...

So simulieren Sie Netzwerkpaketverlust und -verzögerung in Linux

netem und tc: netem ist ein Netzwerksimulationsmo...

Installationsmethode für mysql-8.0.17-winx64 unter Windows 10

1. Von der offiziellen Website herunterladen und ...