我Go成功地從 docker 檔案構建了一個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
uj5u.com熱心網友回復:
過去的類似錯誤訊息指出了一個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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/346248.html
