Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So betreten Sie den vorherigen Docker

So betreten Sie den vorherigen Docker

PHPz
PHPzOriginal
2023-04-10 14:17:26981Durchsuche

Angesichts der Beliebtheit und weiten Verbreitung von Docker werden viele Entwickler diese Containerisierungstechnologie bei der Anwendungsbereitstellung und -wartung nutzen. Einige Leute hatten jedoch möglicherweise Probleme beim Zugriff auf frühere Docker-Container. Wie betrete ich den vorherigen Docker?

In diesem Artikel stellen wir Ihnen vor, wie Sie den vorherigen Docker-Container betreten. Wir werden jeweils zwei Methoden vorstellen: die Verwendung des Docker-Befehls „attach“ und die Verwendung des Tools „nsenter“.

Teil 1: Verwenden des Docker-Attach-Befehls

Der Docker-Attach-Befehl ist eine Möglichkeit, den Container mithilfe des Docker-Befehlszeilentools zu betreten. Es ermöglicht Ihnen, Befehle im interaktiven Modus innerhalb des Containers auszuführen, genau wie in der Konsole. Im Folgenden sind die Schritte aufgeführt, um den Docker-Attach-Befehl zum Betreten des Containers zu verwenden:

Schritt 1: Verstehen Sie die Container-ID oder den Container-Namen

Bevor Sie den Docker-Attach-Befehl verwenden, benötigen wir Um den Docker-Container zu kennen, müssen Sie eine ID oder einen Namen eingeben. Sie können den folgenden Befehl verwenden, um die Container-ID oder den Namen abzurufen:

docker ps -a

Dieser Befehl zeigt eine Liste aller Docker-Container an, einschließlich ihrer Namen, IDs, ihres Status und anderer Informationen. Suchen Sie den Container, den Sie eingeben möchten, und kopieren Sie seine ID oder seinen Namen.

Schritt 2: Führen Sie den Docker-Attach-Befehl aus.

Verwenden Sie den folgenden Befehl, um einen laufenden Docker-Container einzugeben:

docker attach container-id

Hier: Container -id ist die Container-ID oder der Name, die Sie im vorherigen Schritt erhalten haben. Nachdem Sie diesen Befehl ausgeführt haben, befinden Sie sich im Container und können darin interaktive Befehle ausführen. container-id是上一步中获取到的容器ID或者名称。运行此命令后,您将进入该容器,并可以在其中运行交互式命令。

请注意,Docker attach命令可能不适用于所有类型的容器。如果容器是在后台运行的,您将无法使用该命令进入它。

Part 2: 使用nsenter工具

如果您想在之前退出的Docker容器中运行命令,则可以使用nsenter工具。nsenter是Linux系统的一个工具,可以让您进入隔离的命名空间。下面是使用nsenter工具进入容器的步骤:

Step 1: 安装nsenter工具

在使用nsenter工具之前,我们需要先安装它。您可以使用以下 curl 命令来安装nsenter工具:

curl -o /tmp/nsenter https://raw.githubusercontent.com/jpetazzo/nsenter/master/nsenter && chmod +x /tmp/nsenter

这个命令将从GitHub上下载nsenter脚本,并将其保存到/tmp/nsenter文件中,并将其添加到系统环境变量中。

Step 2: 运行nsenter命令

使用以下命令可以进入之前退出的Docker容器:

docker inspect --format '{{.State.Pid}}' container-id > /tmp/container-pid
sudo /tmp/nsenter --target $(cat /tmp/container-pid) --mount --uts --ipc --net --pid

在这里,container-id

Bitte beachten Sie, dass der Docker-Attach-Befehl möglicherweise nicht mit allen Containertypen funktioniert. Wenn der Container im Hintergrund läuft, können Sie ihn mit diesem Befehl nicht aufrufen.

Teil 2: Verwenden des Nsenter-Tools

Wenn Sie Befehle in einem Docker-Container ausführen möchten, den Sie zuvor beendet haben, können Sie das Nsenter-Tool verwenden. nsenter ist ein Tool für Linux-Systeme, mit dem Sie einen isolierten Namespace eingeben können. Im Folgenden sind die Schritte aufgeführt, um das Nsenter-Tool zum Betreten des Containers zu verwenden:

Schritt 1: Installieren Sie das Nsenter-Tool #🎜🎜##🎜🎜# Bevor wir das Nsenter-Tool verwenden, müssen wir es zuerst installieren . Sie können den folgenden Curl-Befehl verwenden, um das Nsenter-Tool zu installieren: #🎜🎜#rrreee#🎜🎜#Dieser Befehl lädt das Nsenter-Skript von GitHub herunter, speichert es in der Datei /tmp/nsenter und fügt es den Systemumgebungsvariablen hinzu Mitte. #🎜🎜##🎜🎜#Schritt 2: Führen Sie den Befehl nsenter aus. #🎜🎜##🎜🎜#Verwenden Sie den folgenden Befehl, um den zuvor verlassenen Docker-Container aufzurufen: #🎜🎜#rrreee#🎜🎜#Hier container - id ist die ID oder der Name des Containers, den Sie eingeben möchten. Nachdem Sie diesen Befehl ausgeführt haben, befinden Sie sich im Container und können darin Befehle ausführen. #🎜🎜##🎜🎜#Bitte beachten Sie, dass das Nsenter-Tool mit Superuser-Root-Rechten ausgeführt werden muss. #🎜🎜##🎜🎜#Zusammenfassung#🎜🎜##🎜🎜#In diesem Artikel haben wir zwei verschiedene Methoden zum Aufrufen des vorherigen Docker-Containers vorgestellt. Sie können den Docker-Befehl „attach“ verwenden, um direkt auf einen laufenden Container zuzugreifen, oder das Tool „nsenter“ verwenden, um auf einen gestoppten Container zuzugreifen. Egal für welche Methode Sie sich entscheiden, die Verwendung von Docker-Containern wird einfacher und die Anwendungsbereitstellung und -wartung wird bequemer. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo betreten Sie den vorherigen Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn