一开始 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