So stellen Sie über SSH eine Verbindung zum Docker -Container her

So stellen Sie über SSH eine Verbindung zum Docker -Container her

Nach dem Installieren von Docker auf Fedora, Almalinux, Manjaro oder einer anderen Distribution ist es Zeit, mehr Container zu installieren. Sobald Sie einen Docker -Container auf einem Linux -System ausführen, müssen Sie wahrscheinlich Befehle im Container ausführen. Auf diese Weise können Sie den Container ähnlich wie eine physische Maschine verwenden, außer dass Docker den größten Teil des Setup -Beinwerks für uns bereits durchgeführt hat.

Es stehen bereits zwei Befehle zur Verfügung, mit denen wir Befehle auf einem Docker -Container ausführen können. Der erste ist Docker Exec, und der zweite Befehl, der es uns ermöglicht, an einem laufenden Behälter anzubringen, ist Docker anhängen. Diese Befehle reichen normalerweise aus, aber Sie können sich in einem Szenario befinden, in dem Sie es vorziehen möchten, SSH zu verwenden, um eine Verbindung zum Docker -Container herzustellen und es zu verwalten.

Nicht alle Docker -Container werden als SSH bereitgestellt. Normalerweise sind Docker -Container sehr leicht und nur darauf programmiert, eine Sache zu tun. Einige Docker -Container erlauben jedoch SSH, und dies kann die Verwaltung des Containers erheblich erleichtern. In diesem Handbuch sehen wir, wie Sie über SSH über SSH eine Verbindung zu einem Docker -Container aus dem Befehlszeilen Host System on Linux herstellen können.

In diesem Tutorial lernen Sie:

  • So stellen Sie eine Verbindung zu einem laufenden Docker -Container über SSH her
Verbindung zu einem laufenden Docker -Container über SSH unter Linux herstellen Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Jede Linux -Distribution
Software Docker
Andere Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl.
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Stellen Sie über SSH eine Verbindung zum Docker -Container her



In diesem Beispiel haben wir bereits Docker und ein Nginx -Bild mit dem verwendet Docker Pull Nginx Befehl. Befolgen Sie die folgenden Schritt -für -Schritt -Anweisungen, um festzustellen.

  1. Erstens muss der Docker -Container aktiv laufen. Stellen Sie sicher, dass Sie es bereits mit dem folgenden Befehl gestartet haben. Beachten Sie noch einmal, dass wir ein Nginx -Bild verwenden, aber Sie können den Namen Ihres eigenen Bildes in diesem Befehl und zukünftigen Befehlen ersetzen.
    $ docker run -name nginx -d nginx 
  2. Überprüfen Sie, ob Ihr Container mit diesem Befehl sowie den Namen Ihres Containers ausgeführt wird.
    $ docker ps 
  3. Anzeigen der derzeit ausgeführten Docker -Container auf unserem System
  4. Wir können jetzt den folgenden Befehl verwenden, um die IP -Adresse unseres Nginx -Containers zu bestimmen.
    $ docker inspect -f " .Netzwerkeinstellungen.IPaddress "nginx 


  5. Hier bestimmen wir die IP -Adresse des Docker -Containers, in den wir SSH
  6. In unserem Fall hat der Nginx -Container eine IP -Adresse von 172.17.0.2. Wir können nun versuchen, eine Verbindung zu dieser IP -Adresse über SSH und das Root -Konto herzustellen.
    $ ssh [email protected] 

    Zu diesem Zeitpunkt verbinden Sie sich entweder erfolgreich mit dem laufenden Container oder erhalten einen Fehler mit „Verbindung abgelehnt“. Führen Sie bei einem Fehler die folgenden Schritte aus, um einen SSH -Server auf dem Container einzurichten.

  7. Wenn SSH nicht funktioniert, müssen wir sicherstellen, dass die Software auf dem Container installiert ist. Schließen Sie mit dem folgenden Befehl eine Verbindung zum Container an.
    $ docker exec -it nginx /bin /bash 
  8. Installieren Sie dann SSH darauf. Wir benutzen geeignet Paketmanager In diesem Beispiel müssen Sie jedoch den Befehl anpassen, wenn Ihr Container einen anderen Paketmanager verwendet.
    # APT Update && Apt -y Install OpenSsh -Server 
  9. Konfigurieren Sie als Nächstes den Container, damit wir uns über SSH beim Stammkonto anmelden können.
    # echo "Genehmigungsrootlogin yes" >>/etc/ssh/sshd_config 
  10. Vergessen Sie nicht, das Stammkennwort zu ändern, damit Sie sich anmelden können.
    # Passwd 
  11. Starten Sie schließlich den SSH -Dienst im Container.
    # /etc /init.D/SSH -Start 
  12. Jetzt können Sie SSH vom Host -Computer aus der zuvor festgelegten IP -Adresse angeben und das Stammkennwort verwenden, für das Sie gerade das Kennwort konfiguriert haben.
    $ ssh [email protected] 


  13. Wir können jetzt erfolgreich in den Docker -Container SSH in den Docker -Container

Das ist alles dazu. Jetzt können Sie über SSH eine Verbindung zu Ihrem laufenden Container herstellen, um Befehle auszuführen und zu verwalten. Natürlich die Methode der Verwendung Docker Exec Der Befehl sollte ebenfalls weiter funktionieren und kann dasselbe erreichen.

Gedanken schließen

In diesem Handbuch haben wir gesehen. Docker gibt uns bereits mehrere Möglichkeiten, eine Verbindung zu einem Container herzustellen, aber die Fähigkeit, SSH in Container zu haben, kann für einige Situationen schön sein. Der knifflige Teil ist, dass die meisten Container SSH noch nicht installiert haben, da sie normalerweise mit den bloßen Mindestanforderungen konfiguriert sind. Dies erfordert ein paar zusätzliche Schritte von unserem Teil, aber wie Sie hier gesehen haben, ist es nicht so schwer zu tun.

Verwandte Linux -Tutorials:

  • Manjaro Linux Installation
  • Manjaro Linux -Anfängerhandbuch
  • Manjaro Linux Windows 10 Dual Start
  • Wie man von CentOS nach Almalinux migriert
  • Installieren Sie Manjaro in VirtualBox
  • Almalinux -Installation
  • So richten Sie FTP/SFTP -Server und Client auf Almalinux ein
  • Dinge zu installieren auf Ubuntu 20.04
  • Installieren Sie die Manjaro Architect Edition
  • Erstellen Sie Manjaro Linux bootable USB