So richten Sie eine VSCode-Remoteverbindung zum Server-Docker-Container ein

So richten Sie eine VSCode-Remoteverbindung zum Server-Docker-Container ein

Ziehen Sie das Bild

Docker Pull [Optionen] Name [:Tag] bedeutet, das Image aus dem Repository abzurufen. Optionen sind ein Parameter. Tag ist eine Version.

Ausführen des Images (Generieren eines Containers)

docker run [Optionen] Image [:Tag] [Befehl] [Argument…]

Führen Sie einen Container aus, um einen Container zu erstellen, der das Image als Vorlage verwendet. Optionen, Operation, Tag, Version, Befehl, Befehl, der beim Ausführen des Parameters Arg ausgeführt werden soll.

Option Option Abkürzung Beschreibung –detach -d Führt den Container im Hintergrund aus und druckt die Container-ID aus.
–interactive -i Standardeingabe geöffnet halten, auch wenn keine Verbindung besteht. Wird normalerweise mit -t verwendet.
–tty -t Weist ein Pseudo-TTY zu, wird normalerweise mit -i verwendet.

Nachdem der Docker-Container die Aufgabe abgeschlossen hat, befindet er sich im Status „Beendet“. Wenn Sie den Container in den Status „Aktiv“ versetzen möchten, können Sie den folgenden Befehl verwenden, z. B.:
Verwenden Sie das Image nginx:latest, um einen Container im interaktiven Modus zu starten und den Befehl /bin/bash im Container auszuführen.

docker run -dit nginx:latest /bin/bash

Starten des Containers

Docker-Startcontainer-ID

Betreten des Containers

Docker-Container-ID anhängen
docker exec -it Container-ID /bin/bash
docker exec -it Containername bash

Alle Spiegel anzeigen

Bilder auflisten: docker images [OPTIONS] [REPOSITORY[:TAG]]

Verlassen Sie den Container

Wenn Sie normal beenden möchten, ohne den Container zu schließen, drücken Sie (Strg+P+Q), um den Container zu verlassen. Wenn Sie zum Beenden exit verwenden, wird der Container nach dem Beenden geschlossen.

Neustarten des Containers

Starten Sie den Container mit dem Befehl (docker restart container id) neu.

Alle Container anzeigen

Docker-Container ls
Docker PS (laufende Container anzeigen)
docker ps -a (alle Container anzeigen)

Löschen eines Containers

Wir können auch den Befehl „docker container rm“ verwenden, um einen bestimmten Container zu löschen, oder einfach den Befehl „docker rm“ schreiben, um den Container zu löschen. Es ist jedoch nicht zulässig, einen laufenden Container zu löschen. Wenn Sie ihn also löschen möchten, müssen Sie den Container zuerst stoppen.

Docker RM Container-ID

Wenn wir alle Container stapelweise löschen müssen, können wir den folgenden Befehl verwenden:

docker rm $(docker ps -q)

Batch-Löschen gestoppter Container in Docker

Methode 1:

#Alle Container anzeigen, Container im Status „Beendet“ herausfiltern und die IDs dieser Container abrufen.

sudo docker ps -a|grep Exited|awk '{print $1}'

#Alle Container abfragen, Container im Status „Beendet“ herausfiltern, Container-IDs auflisten und diese Container löschen sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`

Methode 2:

#Alle nicht laufenden Container löschen (die laufenden können nicht gelöscht werden und die nicht laufenden werden zusammen gelöscht)

sudo docker rm $(sudo docker ps -a -q)

Methode 3:

#Löschen Sie den Container im Status „Beendet“ entsprechend dem Status des Containers sudo docker rm $(sudo docker ps -qf status=exited)

Methode 4:

#Ab Docker-Version 1.13 können Sie den Befehl „Docker Containers Prune“ verwenden, um isolierte Container zu löschen.

vscode stellt per SSH eine Remoteverbindung zum Container im Server her

1. Führen Sie das Ubuntu-Image aus, um einen Container zu erstellen:

Docker ausführen -it Ubuntu

2. Geben Sie den Container ein und legen Sie das Root-Passwort für den Container fest

Ändern Sie das Root-Passwort des Containers: passwd
Das Passwort lautet: 123456

3. Installieren Sie den SSH-Dienst

apt-get-Aktualisierung
apt-get installiere OpenSSH-Server

4. Ändern Sie die SSH-Konfiguration, um die Root-Anmeldung zuzulassen. Normalerweise wird das Root-Konto zum Betreten des Containers verwendet, aber SSH verbietet dem Root-Konto standardmäßig die Verwendung eines Kennworts zur Remote-Anmeldung. Daher müssen Sie die SSH-Konfigurationsdatei ändern, um dies zuzulassen:

vim /etc/ssh/sshd_config
Ändern Sie den Wert von PermitRootLogin von withoutPassword auf yes (entfernen Sie das führende #).
Wenn Sie vim nicht haben, können Sie es installieren:
apt-get installieren vim

5. Containeränderungen speichern und neues Image generieren

Docker-Commit <Container-ID> <Name des neuen Images>
Beispiel: docker commit <container_id> ubuntu-ssh

6. Beenden Sie den aktuellen Container und führen Sie das gerade gespeicherte neue Image aus (dieses Mal müssen Sie den Port zuordnen und es im Hintergrund ausführen).

exit (der Container wird nach dem Verlassen geschlossen)
docker run -dit -p 8008:22 ubuntu-ssh (8008 ist die Portnummer, die bei der Verbindung über SSH verwendet wird)

7. Rufen Sie den im Hintergrund laufenden Container über den Befehl exec auf

docker exec -it container_id /bin/bash
#exec dient zum Aufrufen eines vorhandenen Containers, run zum Erstellen eines neuen Containers

8. Starten Sie den SSH-Dienst

sudo-Dienst ssh starten

Darüber hinaus (Stop-Neustart bedeutet Herunterfahren bzw. Neustart)

9. Bestimmen Sie, ob der Start erfolgreich ist

Geben Sie im Terminal Folgendes ein: ps -e|grep ssh, um zu prüfen, ob es erfolgreich gestartet wurde. Wenn sshd vorhanden ist, bedeutet dies, dass es erfolgreich gestartet wurde.

Die Ausgabe lautet wie folgt:

$ sudo ps -e | grep ssh

 4031 ? 00:00:00 sshd------entspricht dem serverseitigen sshd und zeigt an, dass der SSH-Server gestartet ist

10. Container verlassen, aber nicht schließen

exit (da wir den Container über den exec-Befehl betreten, beendet exit den Container nicht, der Container wird im Hintergrund ausgeführt)

11 Fernverbindung

ssh root@host_id -p 8008

Dies ist das Ende dieses Artikels zum Einrichten einer VSCode-Remoteverbindung zum Docker-Servercontainer. Weitere relevante VSCode-Remoteverbindungen zum Docker-Container finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Docker ermöglicht sicheren TLS-Remoteverbindungszugriff
  • Docker stellt eine MySQL-Remoteverbindung bereit, um 2003-Probleme zu lösen
  • Detailliertes Beispiel für eine Remote-Verbindung zu Docker mithilfe einer TLS-verschlüsselten Kommunikation
  • Tutorial zur Installation von MySQL mit Docker und zur Implementierung einer Remote-Verbindung
  • Docker stellt MySQL bereit, um Beispielcode für eine Remoteverbindung zu erreichen
  • Detaillierte Erläuterung der Remote-Verbindungseinstellungen des Docker-Daemons
  • Implementierungsbeispiel für Docker-Remoteverbindungseinstellungen

<<:  Implementierungsprinzip und Skriptcode der HTML-Rabattpreisberechnung

>>:  Responsive Webdesign lernen (2) — Können Videos responsiv gemacht werden?

Artikel empfehlen

Implementierungsprozess des Nginx-Hochverfügbarkeitsclusters

Dieser Artikel stellt hauptsächlich den Implement...

Verwendung von TypeScript-Generics

Inhaltsverzeichnis 1. Einfach zu bedienen 2. Verw...

Häufige Tomcat-Ausnahmen und Lösungscodebeispiele

Das Unternehmensprojekt wurde in Java entwickelt ...

Apropos „Weniger und mehr“ im Webdesign (Bild)

„Weniger ist mehr“ ist ein Schlagwort vieler Desi...

Implementierung der Docker-Batch-Container-Orchestrierung

Einführung Der Dockerfile-Build-Ausführungsvorgan...

Warum ist es langsam, wenn Limit- und Offset-Paging-Szenarien verwendet werden?

Beginnen wir mit einer Frage Als ich vor fünf Jah...

Probleme und Lösungen für MYSQL5.7.17-Verbindungsfehler unter MAC

Das Problem, dass MYSQL5.7.17 unter MAC keine Ver...

Detaillierte Erläuterung des Linux-Befehls zur Änderung des Hostnamens

Linux-Befehl zum Ändern des Hostnamens 1. Wenn Si...

MySQL-Lerndatenbankbetrieb DML ausführliche Erklärung für Anfänger

Inhaltsverzeichnis 1. Anweisung einfügen 1.1 Einf...

So fügen Sie die Tomcat-Serverkonfiguration zu Eclipse hinzu

1. Fenster -> Einstellungen, um das Eclipse-Ei...

Bootstrap 3.0 Studiennotizen CSS-bezogene Ergänzung

Die wesentlichen Inhalte dieses Artikels sind wie...