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

Vor- und Nachteile des Tabellenlayouts und warum es nicht empfohlen wird

Nachteile von Tabellen 1. Tabellen nehmen mehr Byt...

Wird CSS3 SCSS wirklich ersetzen?

Beim Styling unserer Webseiten haben wir die Wahl...

So verwenden Sie das Schreiben von Dateien zum Debuggen einer Linux-Anwendung

Unter Linux ist alles eine Datei, daher besteht d...

Detaillierte Analyse der MySQL-Indizes

Vorwort Wir wissen, dass die Indexauswahl Aufgabe...

jQuery implementiert einen einfachen Popup-Fenstereffekt

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

Implementierungsschritte zur Installation von RocketMQ im Docker

Inhaltsverzeichnis 1. Rufen Sie das Bild ab 2. Br...

Einführung in das Layout des HTML-Seitenquellcodes_Powernode Java Academy

Einführung in das Layout des HTML-Seitenquellcode...

Das Front-End muss wissen, wie Bilder verzögert geladen werden (drei Methoden)

Inhaltsverzeichnis 1. Was ist Lazy Loading? 2. Im...

Methode zur Optimierung von MySQL-Gruppenabfragen

MySQL behandelt GROUP BY- und DISTINCT-Abfragen i...

Online- und Offlineinstallation von Docker und allgemeine Befehlsvorgänge

1. Testumgebung Name Version centos 7.6 Docker 18...

Das Homepage-Design spiegelt am besten das Niveau des Webdesigners wider

Bei den vielen Projekten, an denen ich mitgearbei...

Detailliertes Installationstutorial für Windows 10 + MySQL 8.0.11 Zip

Vorbereiten: Downloadadresse für das MySQL 8.0 Wi...