首页  >  文章  >  后端开发  >  Docker 错误:'无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程” - 如何修复'权限被拒绝”错误?

Docker 错误:'无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程” - 如何修复'权限被拒绝”错误?

Susan Sarandon
Susan Sarandon原创
2024-11-10 09:41:03826浏览

Docker Error:

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn