亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang docker 多階段構建運行失?。?/h1>

Golang docker 多階段構建運行失?。?/h1>
Go
FFIVE 2023-06-05 13:25:31
使用 Docker 多階段構建部署簡單 API 時,會拋出以下錯誤:$ docker build -t api:latest .[...]$ docker run -p 4880:4880 --rm --name=api api:latest2019/01/29 23:02:15 exec: "go": executable file not found in $PATH由于我的應用程序沒有go從任何地方(或任何地方exec.Command)調用我運行了一個go mod vendor所以我可以檢查依賴源代碼并找到以下內容:vendor/github.com/lib/pq/oid/gen.go12:     "os/exec"64:     cmd := exec.Command("gofmt")這可能是問題所在嗎?如果是,我該如何解決?我確信我之前已經成功地部署了github.com/lib/pq多階段構建,但我目前被卡住了。非常感謝,Happy Hacking。文件FROM golang:1-alpine AS builderENV GO111MODULE=onRUN apk --no-cache add ca-certificates gitWORKDIR /app# Copy go module info first...COPY go.mod .COPY go.sum .# ...then download to cache dependencies between buildsRUN go mod downloadCOPY . .RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -installsuffix cgo -ldflags '-extldflags "-static"' -o api cmd/api/FROM scratchWORKDIR /appCOPY --from=builder /app/api /app/COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/EXPOSE 8080ENTRYPOINT ["./api"]
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您的實際構建線:

RUN?CGO_ENABLED=0?GOOS=linux?GOARCH=amd64?go?build?-installsuffix?cgo?-ldflags?'-extldflags?"-static"'?-o?api?cmd/api/

前面缺少相對路徑cmd,將其設為 be./cmd/api將導致構建/運行成功。cmd/api顯然是真實的,所以它沒有犯錯,但也沒有做你期望它做的事情。如果您go run cmd/api在終端中輸入,您應該會看到大量與您的應用程序無關的輸出。


查看完整回答
反對 回復 2023-06-05
  • 1 回答
  • 0 關注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號