当我尝试使用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
目录中,那么在复制后,请尝试使用以下命令为其启用执行权限:RUN chmod +x /app
。 - Latheesan