慕運(yùn)維8079593
2022-07-25 12:06:07
我在 $PATH 中找不到可執(zhí)行文件:嘗試運(yùn)行 golang 項(xiàng)目的 docker 映像時(shí)出現(xiàn)未知錯(cuò)誤。以下是我的碼頭文件。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"]我得到的錯(cuò)誤如下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.請(qǐng)幫我解決一下這個(gè)。謝謝
3 回答

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
您不需要使用,go run ...
因?yàn)槟斑\(yùn)行過(guò)go build
,構(gòu)建的文件將以目錄命名并且看起來(lái)像它app
,嘗試CMD ["./app"]
順便說(shuō)一句,CMD
在您的情況下正確用法是,您遇到CMD ["go", "run", "main.go"]
的錯(cuò)誤與CMD
命令有關(guān),它假設(shè)go run main.go
是一個(gè)文件,但事實(shí)并非如此。

尚方寶劍之說(shuō)
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
您正在嘗試以exec形式CMD
使用該子句,因此您必須拆分命令及其參數(shù)。接受的格式是
CMD ["executable","param1","param2"]
所以你的將是
CMD ["go", "run", "main.go"]

狐的傳說(shuō)
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
您收到此錯(cuò)誤,因?yàn)槲募癿ain.go”在執(zhí)行“go run main.go”命令的工作目錄中不可用。
請(qǐng)檢查 main.go 文件是否可用,如果是,請(qǐng)定義 main.go 文件的完整路徑并嘗試。
- 3 回答
- 0 關(guān)注
- 334 瀏覽
添加回答
舉報(bào)
0/150
提交
取消