Heim >Backend-Entwicklung >Golang >Docker-Fehler: „Shim-Aufgabe konnte nicht erstellt werden: OCI-Laufzeiterstellung fehlgeschlagen: Runc-Erstellung fehlgeschlagen: Containerprozess konnte nicht gestartet werden' – Wie behebe ich den Fehler „Berechtigung verweigert'?
Docker-Fehler: Shim-Aufgabe konnte nicht erstellt werden
Beim Versuch, ein Docker-Image auszuführen, wird Benutzern möglicherweise die Fehlermeldung „Docker: Fehler“ angezeigt Antwort vom Daemon: Shim-Aufgabe konnte nicht erstellt werden: OCI-Laufzeiterstellung fehlgeschlagen: Runc-Erstellung fehlgeschlagen: Containerprozess konnte nicht gestartet werden.“ Dieser Fehler weist darauf hin, dass Docker aufgrund von Berechtigungs- oder Konfigurationsproblemen auf Probleme beim Starten des Containerprozesses stößt.
Behebung von Berechtigungsverweigerungen
In dem in der Frage beschriebenen speziellen Fall: Die Fehlermeldung „exec: ./deployment-service: Berechtigung verweigert: unbekannt“ deutet darauf hin, dass die ausführbare Datei des Deployment-Service keine Ausführungsberechtigungen innerhalb des Containers hat. Um dieses Problem zu beheben, fügen Sie der Docker-Datei vor dem CMD-Befehl die folgende Anweisung hinzu:
RUN chmod +x deployment-service
Diese Zeile gewährt Ausführungsberechtigungen für die Deployment-Service-Datei.
Mit der entsprechenden Berechtigung in An dieser Stelle sollte der Docker in der Lage sein, den Containerprozess erfolgreich zu starten. Hier ist eine aktualisierte Docker-Datei mit der hinzugefügten RUN-Zeile:
FROM golang:1.19.2-alpine as builder RUN apk add bash RUN apk add --no-cache openssh-client ansible git RUN mkdir /workspace WORKDIR /workspace COPY go.mod ./ COPY go.sum ./ RUN go mod download COPY . ./ RUN go build -o deployment-service cmd/deployment-service/main.go FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /root/ COPY --from=builder /workspace . ARG DEFAULT_PORT=8080 ENV PORT $DEFAULT_PORT EXPOSE $PORT RUN chmod +x deployment-service CMD ["./deployment-service"]
Sobald die aktualisierte Docker-Datei angewendet wird, sollte der Docker-Run-Befehl ohne den Fehler „Berechtigung verweigert“ ausgeführt werden.
Das obige ist der detaillierte Inhalt vonDocker-Fehler: „Shim-Aufgabe konnte nicht erstellt werden: OCI-Laufzeiterstellung fehlgeschlagen: Runc-Erstellung fehlgeschlagen: Containerprozess konnte nicht gestartet werden' – Wie behebe ich den Fehler „Berechtigung verweigert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!