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

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

為什么我的 Go 應用程序會因 Docker 容器內的“沒有這樣的文件或目錄”而失???

我有一個 Go 1.18 應用程序,它在我的 WSL2 Ubuntu 中運行沒有問題,但無法在 Docker 容器中運行并顯示錯誤消息exec /app: no such file or directory。我的 Dockerfile(稍微改編自另一個沒有問題的 Go 1.12 應用程序)是:FROM golang:1.18-alpine AS buildWORKDIR /appCOPY go.mod ./COPY go.sum ./RUN go mod downloadCOPY source/*.go ./RUN go build -o /appFROM gcr.io/distroless/static-debian11COPY --from=build /app /appUSER nonroot:nonrootCMD ["/app"]構建它沒有顯示錯誤。我嘗試添加GOOS=linux和GOARCH=amd64構建,--platform linux/amd64但沒有任何區別(我認為應該沒有必要?)。我從 Distroless 切換到 Debian,同樣的問題。該文件/app存在 (11 mb, 755)。file /app給出這個輸出:app: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, Go BuildID=UsV_orwX-S3Rwh16P1VH/6u2iHufDhnUYUkHBp0rE/2xn48wuW047ZRbQ7qPIy/ihQgooFxjsMgMzYGE-8h, not stripped我不知道我哪里出錯了。這里的問題是什么?
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

似乎是由使用go-ping/ping引起的。將構建鏡像切換到golang:1.18(不是 Alpine)和最終鏡像來gcr.io/distroless/base-debian11解決這個問題。



查看完整回答
反對 回復 2022-12-26
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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