Docker 错误:无法创建 Shim 任务
当尝试运行 docker 镜像时,用户可能会遇到错误消息“docker: Error”来自守护进程的响应:无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程。”此错误表示 Docker 由于权限或配置问题而在启动容器进程时遇到问题。
解决权限拒绝
在问题中描述的特定情况下,错误消息“exec:./deployment-service:权限被拒绝:未知”表明部署服务可执行文件在容器内缺乏执行权限。要解决此问题,请将 folgenden 指令添加到 Dockerfile 中的 CMD 命令之前:
RUN chmod +x deployment-service
此行将为部署服务文件授予执行权限。
具有适当的权限到此为止,docker应该能够成功启动容器进程。这是更新后的 Dockerfile,其中添加了 RUN 行:
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"]
应用更新后的 Dockerfile 后,执行 docker run 命令应该不会出现权限被拒绝错误。
以上是Docker 错误:'无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程” - 如何修复'权限被拒绝”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!