启动容器进程导致“ exec:\” / app \“:权限被拒绝”:未知

当我尝试使用docker构建golang时

Docker的映像构建成功,但是在使用docker run运行时发生以下错误

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/app\": permission denied": unknown.

我认为此错误导致没有用户添加,因此我如下添加了组和用户

RUN groupadd -g 10001 myapp \

&& useradd -u 10001 -g myapp myapp

但没有解决。

这是我的源docker文件

FROM golang:1.12.9 as builder

ADD . /go/src/appname/

WORKDIR /go/src/appname/

ENV GO111MODULE=on

COPY go.mod .

COPY go.sum .

RUN go mod download

COPY . .

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 make build target=prod

FROM alpine

RUN apk update \

&& apk add --no-cache

COPY --from=builder /go/src/ /app

ENTRYPOINT [ "/app" ]

谢谢

回答:

您将/app在此步骤中将整个源文件夹复制到目录中:

COPY --from=builder /go/src/ /app

然后,您尝试执行目录:

ENTRYPOINT [ "/app" ]

相反,您需要复制go build在复制步骤中输出的已编译二进制文件。

以上是 启动容器进程导致“ exec:\” / app \“:权限被拒绝”:未知 的全部内容, 来源链接: utcz.com/qa/431675.html

回到顶部