我是 Docker 的新手,我有一些菜鳥問題。我已經(jīng)按照本教程改進(jìn)了 Docker 文件。單個(gè)構(gòu)建工作正常,但是當(dāng)我使用scratch圖像時(shí)多階段失敗。Docker 文件是:# syntax=docker/dockerfile:1#### STEP 1 - BUILD### specify the base image to be used for the application, alpine or ubuntuFROM golang:1.18-alpine AS build# None root user# RUN addgroup -S qcheckgroup && adduser -S qcheck -G qcheckgroup# USER qcheck# create a working directory inside the imageENV GO111MODULE=onWORKDIR /app# copy Go modules and dependencies to imageCOPY . .# download Go modules and dependencies# RUN go mod download# compile applicationRUN go build .#### STEP 2 - DEPLOY##FROM scratchWORKDIR /FROM scratchWORKDIR /COPY --from=build app/query_check_span /EXPOSE 8080ENTRYPOINT [ "/query_check_span" ]構(gòu)建過程工作正常docker build -t qcheck:multi -f .\Dockerfile.multi .,但是當(dāng)我嘗試運(yùn)行容器時(shí)docker run qcheck:multi出現(xiàn)以下錯誤:exec /query_check_span: no such file or directory??雌饋韱栴}是scratch image無法執(zhí)行編譯好的go程序。我確認(rèn)當(dāng)我將圖像更改apline為例如。你知道我做錯了什么嗎?我怎樣才能使用臨時(shí)圖像運(yùn)行容器?
1 回答

滄海一幻覺
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
在您的構(gòu)建階段,您應(yīng)該RUN go build -o ./query_check_span
代替RUN go build .
. 該命令將輸出名稱為query_check_span
.
- 1 回答
- 0 關(guān)注
- 93 瀏覽
添加回答
舉報(bào)
0/150
提交
取消