繁体   English   中英

运行 Golang 的 docker 镜像失败,出现错误“启动容器进程导致:exec:“/路径”:权限被拒绝”

[英]Running a docker Image of Golang failed, with error 'starting container process caused: exec: "/path": permission denied'

我成功地从 docker 文件构建了一个Go docker 镜像,但是docker run -p port:port --name imagename imageid给了我permission denied错误。

这是我的 docker 文件

FROM golang:1.17.2-alpine3.13 as build

WORKDIR /app

COPY . .

RUN go build -o app

FROM alpine:3.7

COPY --from=build /app /usr/local/bin/go_webhooks

RUN chmod +x /usr/local/bin/go_webhooks

ENTRYPOINT ["/usr/local/bin/go_webhooks"]

我尝试使用chmod但仍然无法解决它。

实际的错误信息是:

docker run -p 8000:8000 --name go_webs3 d5f30e8f9703 
docker: Error response from daemon: OCI runtime create failed:
container_linux.go:380: starting container process caused: exec:
"/usr/local/bin/go_webhooks": permission denied: unknown. 
ERRO[0000] error waiting for container: context canceled

过去的类似错误消息指出了go build问题。

但在您的情况下,将文件夹复制到/usr/local/bin/go_webhooks会使go_webhooks成为文件夹

WORKDIR /app
# means /app is a folder

您不能直接执行文件夹。
您的入口点需要引用该文件夹内的可执行文件。

您可能需要将构建的文件复制到 /app 中:

COPY --from=build /app/app /usr/local/bin/go_webhooks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM