在$PATH中找不到可执行文件:未知错误消息
我在 $PATH 中找不到可执行文件:尝试运行 golang 项目的 docker 映像时出现未知错误。以下是我的 docker 文件。
FROM golang:latest
LABEL maintainer = "Nisal Perera <xxx@sss.com>"
RUN mkdir -p /go/src/github.com/user/app/
COPY . /go/src/github.com/user/app/
WORKDIR /go/src/github.com/user/app/
RUN go get -u github.com/golang/dep/cmd/dep
#RUN dep init
RUN dep ensure
RUN go build
CMD ["go run main.go"]
我得到的错误如下
docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "go run main.go": executable file not found in $PATH: un
known.
请帮我解决一下这个。谢谢
回答
您不需要使用,go run ...因为您之前运行过go build,构建的文件将以目录命名并看起来像它app,请尝试CMD ["./app"]
顺便说一句,CMD在您的情况下正确的用法是,您遇到CMD ["go", "run", "main.go"]的错误与CMD命令有关,它假定go run main.go是一个文件,但事实并非如此。