Was tun, wenn der Docker-Befehl nicht im Container gefunden werden kann?

PHPz
Freigeben: 2023-04-18 14:47:14
Original
3266 Leute haben es durchsucht

Bei der Verwendung von Docker sind in letzter Zeit viele Menschen auf ein Problem gestoßen: Docker-Befehle können nicht im Container gefunden werden. Diese Frage kann zu Verwirrung und Verwirrung führen, daher werden wir uns heute die Ursachen und Lösungen für dieses Problem genauer ansehen.

Docker ist eine sehr leistungsstarke Containerisierungstechnologie, die Anwendungen in einen vollständigen tragbaren Container packen kann, der auf jedem System ausgeführt werden kann. Docker wird normalerweise durch Ausführen des Docker-Daemons verwendet, der Docker-Container und -Images verwaltet. Im Kontext von Docker gibt es zwei Möglichkeiten, Docker-Befehle zu verwenden: die Verwendung von Docker-Befehlen auf dem Host-Computer oder die Verwendung von Docker-Befehlen innerhalb eines Containers.

Wenn Sie Docker-Befehle auf dem Host-Computer verwenden, können Sie im Allgemeinen dieselben Befehle im Container verwenden. Dies liegt daran, dass der Docker-Daemon im Container bereits ausgeführt wird und einige APIs bereitstellt, die es Befehlen innerhalb des Containers ermöglichen, mit dem Docker-Daemon zu kommunizieren. Daher können Sie Docker-Befehle innerhalb des Containers verwenden, um den Container zu verwalten. Sie können beispielsweise Docker-Befehle verwenden, um neue Container auszuführen, den Containerstatus zu überprüfen, Container anzuhalten und mehr.

Allerdings kommt es manchmal vor, dass der Docker-Befehl nicht im Container gefunden werden kann. Dies wird normalerweise durch einen der folgenden Gründe verursacht:

  1. Docker ist nicht im Container installiert

Dies ist der häufigste Grund: wann Ihre Docker-Befehle werden normalerweise nicht installiert, wenn sie in einem Container ausgeführt werden. Denn Docker ist ein Prozess, der auf dem Host ausgeführt wird, und kein Prozess innerhalb des Containers. Wenn Sie Docker-Befehle in einem Container verwenden möchten, müssen Sie daher zunächst Docker-Befehle im Container installieren. Normalerweise installieren Sie Docker, indem Sie denselben Docker-Installationsbefehl im Container wie auf dem Host ausführen, zum Beispiel:

    Auch wenn Sie Docker-Befehle im Container installiert haben, können Sie Docker-Befehle innerhalb des Containers immer noch nicht verwenden Container, ohne den Docker-Socket im Container zu montieren. Dies liegt daran, dass Docker-Sockets für die Kommunikation mit dem Docker-Daemon verwendet werden, über die Befehle innerhalb des Containers an den Docker-Daemon kommuniziert werden können, der auf dem Host-Computer ausgeführt wird.
  1. Um einen Docker-Socket in einen Container einzubinden, müssen Sie beim Ausführen des Containers die Option „--volume“ verwenden, um den Docker-Socket dem Container zuzuordnen. Zum Beispiel:
apt-get install docker
Nach dem Login kopieren

Für die Verwendung von Docker-Befehlen in einem Container sind Root-Berechtigungen erforderlich.

    Wenn Sie einen Docker-Befehl in einem Container ausführen, erfordert dieser Befehl Root-Berechtigungen. Dies liegt daran, dass Docker-Befehle normalerweise auf dem Host ausgeführt werden und der Docker-Daemon auf dem Host Root-Rechte benötigt, um ausgeführt zu werden. Daher müssen Sie beim Ausführen von Docker-Befehlen in einem Container Root-Rechte verwenden. Zum Beispiel:
  1. docker run -v /var/run/docker.sock:/var/run/docker.sock my_container
    Nach dem Login kopieren
  2. Zusammenfassung:

Wenn Sie Docker-Befehle im Container verwenden müssen, müssen Sie auf die oben genannten drei Faktoren achten: Installieren von Docker-Befehlen im Container , Docker-Sockets verbinden Für das Mounten von Wörtern in einen Container und die Verwendung von Docker-Befehlen in einem Container sind Root-Rechte erforderlich. Solange Sie diese verstehen, können Sie das Problem lösen, dass Docker-Befehle nicht im Container gefunden werden.

Das obige ist der detaillierte Inhalt vonWas tun, wenn der Docker-Befehl nicht im Container gefunden werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage