Einführung
Docker ist eine Reihe von PaaS-Produkten (Platform as a Service), die eine Virtualisierung auf Betriebssystemebene verwenden, um Software in Paketen bereitzustellen, die als Container bezeichnet werden.
Docker ist ein Dienstprogramm, mit dem Sie einen Container erstellen können für laufende Anwendungen. Ein Docker-Container ist eine vollständig abgeschlossene virtuelle Maschine.
Dieser Leitfaden zeigt Ihnen drei Methoden für SSH in einen Docker-Container und zum Ausführen von Befehlen.
Methode 1 :
- Verwenden Sie docker exec um Befehle in einem Docker-Container auszuführen
Die Docker-Exec Befehl führt einen angegebenen Befehl in einem bereits ausgeführten Container aus.
Sie können damit eine SSH-Verbindung zu einem Docker-Container herstellen, indem Sie eine Bash-Shell erstellen .
Syntax für die Verwendung von docker exec
docker exec (options) (container) (The_command)
- Ziehen Sie ein Docker-Image wenn nicht. Sie können Apache laden zum Beispiel:
sudo docker pull httpd
- Führen Sie dann den Container mit aus
sudo docker run --name apache-test -d httpd
- Listen Sie alle laufenden Container auf, um zu prüfen, ob der Container aufgelistet ist oder nicht
sudo docker ps
- Um darauf zuzugreifen und Befehle in diesem Container auszuführen, führen Sie aus
sudo docker exec -it apache-test /bin/bash
Das –i Option gibt interaktiv an
Das –t ermöglicht eine Terminal-Eingabe Schnittstelle.
Jetzt werden alle Befehle, die Sie eingeben, in diesem Container ausgeführt.
Methode 2:
- Verwenden Sie dasDocker-Anhängen Befehl zum Verbinden mit einem Laufenden Behälter
Das Docker-Anhängen Der Befehl verknüpft einen lokalen Eingabe-, Ausgabe- und Fehlerstrom mit einem Container.
- Um eine Verbindung zu einem laufenden Container herzustellen, führen Sie aus
sudo docker attach (The_container_Name)
Jetzt stellen wir eine Verbindung zum Apache-Test her Container mit der folgenden Befehlszeile.
sudo docker attach apache-test
Methode 3:
- Wir werden SSH verwenden um sich mit einem Docker-Container zu verbinden
Sie können sich mit SSH (Secure Shell) mit einem Docker-Container verbinden.
- ssh installieren, starten und aktivieren
Auf CentOS :
dnf install -y openssh-server openssh-clients && systemctl start sshd && systemctl enable sshd
Auf Ubuntu :
sudo apt-get install ssh && sudo systemctl start sshd && sudo systemctl enable sshd
- IP-Adresse des Docker-Containers abrufen
Rufen Sie die IP-Adresse des Containers mithilfe von docker inspect ab Befehl und Herausfiltern der Ergebnisse.
Führen Sie für moderne Docker-Engines aus
sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" (The_container_name)
Führen Sie für ältere Docker-Engines aus
[root@unixcop ~]# docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' (The_container_name)
172.17.0.1
[root@unixcop ~]#
- SSH in den Docker-Container, indem Sie den SSH-Befehl verwenden, um eine Verbindung zum Container herzustellen
ssh [email protected]
Das System sollte nach einem Passwort des Root-Benutzers für diesen Container fragen
Jetzt können Sie Befehle im Container ausführen.
Schlussfolgerung
Das war's also
In diesem Tutorial zeigen wir Ihnen, wie Sie mit SSH in einen laufenden Docker-Container einsteigen und Befehle über drei Methoden ausführen.
Danke