Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 在$PATH中找不到获取可执行文件:未知错误消息_Docker_Go_Dockerfile - Fatal编程技术网

Docker 在$PATH中找不到获取可执行文件:未知错误消息

Docker 在$PATH中找不到获取可执行文件:未知错误消息,docker,go,dockerfile,Docker,Go,Dockerfile,尝试运行golang项目的docker映像时,在$PATH:unknown中找不到可执行文件。下面是我的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/u

尝试运行golang项目的docker映像时,在$PATH:unknown中找不到可执行文件。下面是我的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"]

请帮我做这个。谢谢

您收到此错误,因为文件main.go在执行go run main.go命令的工作目录中不可用

请检查main.go文件是否可用如果是,请定义main.go文件的完整路径并重试。

您不需要使用go run。。。由于您以前运行过go build,生成的文件将以目录命名,看起来像它的应用程序,请尝试CMD[./app]

顺便说一句,在您的案例中正确使用CMD应该是CMD[go,run,main.go],您的错误与CMD命令相关,假设go run main.go是一个文件,但它不是。

您试图在其exec中使用CMD子句,因此必须拆分命令及其参数。接受的格式是

CMD ["executable","param1","param2"]
所以你的会是

CMD ["go", "run", "main.go"]
1.永远,永远,永远不要使用go run main.go。2.CMD的参数必须是数组,而不是单个字符串。
CMD ["go", "run", "main.go"]