为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕运维8079593 2022-07-25 12:06:07
我在 $PATH 中找不到可执行文件:尝试运行 golang 项目的 docker 映像时出现未知错误。以下是我的码头文件。FROM golang:latestLABEL 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 initRUN dep ensureRUN go buildCMD ["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: unknown.请帮我解决一下这个。谢谢
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

您不需要使用,go run ...因为您之前运行过go build,构建的文件将以目录命名并且看起来像它app,尝试CMD ["./app"]

顺便说一句,CMD在您的情况下正确用法是,您遇到CMD ["go", "run", "main.go"]的错误与CMD命令有关,它假设go run main.go是一个文件,但事实并非如此。


查看完整回答
反对 回复 2022-07-25
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

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

CMD ["executable","param1","param2"]

所以你的将是

CMD ["go", "run", "main.go"]


查看完整回答
反对 回复 2022-07-25
?
狐的传说

TA贡献1804条经验 获得超3个赞

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

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


查看完整回答
反对 回复 2022-07-25
  • 3 回答
  • 0 关注
  • 282 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信