第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

使用 mysql 驅(qū)動程序時嘗試在 docker 中構(gòu)建我的 golang 應(yīng)用程序時出錯

使用 mysql 驅(qū)動程序時嘗試在 docker 中構(gòu)建我的 golang 應(yīng)用程序時出錯

Go
阿波羅的戰(zhàn)車 2022-12-05 17:12:15
我有一個簡單的應(yīng)用程序,用于github.com/go-sql-driver/mysql連接到 MySQL 數(shù)據(jù)庫并執(zhí)行簡單的查詢。這一切在我的本地機器上運行良好,但是當(dāng)我嘗試使用 docker build 構(gòu)建它時,我得到以下輸出:[+] Building 4.1s (9/10) => [internal] load build definition from Dockerfile                                                               0.0s => => transferring dockerfile: 104B                                                                               0.0s => [internal] load .dockerignore                                                                                  0.0s => => transferring context: 2B                                                                                    0.0s => [internal] load metadata for docker.io/library/golang:onbuild                                                  1.3s => [auth] library/golang:pull token for registry-1.docker.io                                                      0.0s => [internal] load build context                                                                                  0.0s => => transferring context: 5.63kB                                                                                0.0s => CACHED [1/2] FROM docker.io/library/golang:onbuild@sha256:c0ec19d49014d604e4f62266afd490016b11ceec103f0b7ef44  0.0s => [2/2] COPY . /go/src/app                                                                                       0.1s => [3/2] RUN go-wrapper download                                                                                  2.0s => ERROR [4/2] RUN go-wrapper install                                                                             0.6s------我的 go 版本是最新的,我正在使用以下 dockerfile:FROM golang:onbuild據(jù)我所知,這應(yīng)該go get是它需要的所有包。我也試過這樣:FROM golang:onbuildRUN go get "github.com/go-sql-driver/mysql"這具有相同的輸出。請注意,在我的代碼中,我像這樣導(dǎo)入包:import _ "github.com/go-sql-driver/mysql"我還使用了 github 上的其他包,這些似乎工作正常。
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經(jīng)驗 獲得超16個贊

Docker 社區(qū)通常一直在避開 DockerfileONBUILD指令,因為它使派生圖像中實際發(fā)生的事情變得非常混亂(請參閱圍繞“這真的是整個 Dockerfile 嗎?”的各種評論)。如果你在Docker Hub 上搜索golang:onbuild鏡像,你會發(fā)現(xiàn)這是 Go 1.7 或 1.8;Go 模塊是在 Go 1.11 中引入的。


您需要更新到更新的基礎(chǔ)映像,這意味著手動編寫 Dockerfile 步驟。對于典型的 Go 應(yīng)用程序,這看起來像


FROM golang:1.18 AS build

WORKDIR /app

COPY go.mod go.sum ./

RUN go mod download

COPY ./ ./

RUN go build -o myapp .


FROM ubuntu:20.04

COPY --from=build /app/myapp /usr/local/bin

CMD ["myapp"]

(在最后階段,您可能需要RUN apt-get update && apt-get install ...MySQL 客戶端庫或其他工具。)


查看完整回答
反對 回復(fù) 2022-12-05
  • 1 回答
  • 0 關(guān)注
  • 243 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號