运行 一个 docker Golang 镜像失败,错误 'starting container process caused: exec: "/path": permission denied'
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
我成功地从 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