Heim >Backend-Entwicklung >Golang >Richtiges Shell-Programm für den Golang Alpine Docker-Container-Einstiegspunkt?
Was ist der richtige Shell-Einstiegspunkt für den Golang Alpine Docker-Container? Dies ist ein Problem, auf das viele Entwickler häufig stoßen, wenn sie Docker-Container mit Golang- und Alpine-Images erstellen. Bevor wir dieses Problem lösen können, müssen wir zunächst die relevanten Kenntnisse von Golang und Alpine verstehen. Golang ist eine effiziente und prägnante Programmiersprache, während Alpine eine leichte Linux-Distribution ist. Bei Verwendung von Alpine als Basis-Image fehlen möglicherweise einige gängige Shell-Befehle aufgrund der Rationalisierung. Wie kann man also den Einstiegspunkt des Golang Alpine Docker-Containers richtig festlegen, damit er das Shell-Programm ausführen kann? Werfen wir einen Blick auf die Antwort des PHP-Editors Apple.
Ich versuche, einen Golang Alpine Docker-Container (nur das Basis-Image) zu starten und sofort eine Verbindung zu ihm herzustellen, um Befehle auszuführen, aber ich kann anscheinend nicht die richtige Shell angeben.
docker run -d golang:1.20-alpine --entrypoint=bin/sh ec90a5d5eeba63e509acc09e234054d883aa122cd7617f89b61e7d71220847cd docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "--entrypoint=bin/sh": stat --entrypoint=bin/sh: no such file or directory: unknown.
Ich habe es auch versucht: /bin/sh
. Was fehlt mir hier?
Ich werde statt eines Befehls nur eine Antwort in die Kommentare schreiben.
Um den Golang Alpine Docker-Container (nur das Basis-Image) zu starten und sofort eine Verbindung zu ihm herzustellen, um Befehle auszuführen, können Sie Folgendes tun:
docker run -it golang:1.20-alpine /bin/sh
Wenn Sie Ihrem Container einen Namen geben möchten, können Sie Folgendes tun:
docker pull golang:1.20-alpine docker run -id --name=test5 golang:1.20-alpine docker exec -it test5 /bin/sh
Mit docker stop test5 -t 2
停止容器,然后使用 docker start test5
können Sie den Container erneut starten.
Sie können es löschen, indem Sie docker rm test5
ausführen.
Sie können den Befehl leicht ändern, um den Fehler zu vermeiden:
docker run -d --entrypoint=/bin/sh golang:1.20-alpine
Bitte beachten Sie, dass der Befehlszeilenschalter --entrypoint
vor golang:1.20-alpine steht.
Das obige ist der detaillierte Inhalt vonRichtiges Shell-Programm für den Golang Alpine Docker-Container-Einstiegspunkt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!