dockerfile 使用 entrypoint,致使 docker 沒法正確掛載的問題

一開始 Dockerfile 以下:golang

FROM golang:latest

WORKDIR $GOPATH/src/hellodocker
COPY . .
RUN go build .
EXPOSE 88 ENTRYPOINT ["./hellodocker"]

運行 docker run -d -v /home/hellodocker:/go/src/hellodocker -p 88:88 hellodocker,報錯:docker

Error response from daemon: oci runtime error: exec: "./hellodocker": stat ./hellodocker: no such file or directory
ENTRYPOINT 入口文件,不存在就報錯了

修改 Dockerfile 以下:
分析緣由: 運行容器掛載目錄的時候,hellodocker.exe尚未編譯生成,可是會去檢查
WORKDIR $GOPATH/src/hellodocker
ADD . $GOPATH/src/hellodocker
# RUN go build .

EXPOSE 88
CMD ["/bin/bash", "build.sh"] # ENTRYPOINT ["./hellodocker"]

  其中 build.sh 以下:bash

#!/usr/bin/env bash
cd /go/src/hellodocker && go build . && ./hellodocker

 

問題解決ui

相關文章
相關標籤/搜索