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

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

無法在 dockerfile 中構建 Golang

無法在 dockerfile 中構建 Golang

Go
慕娘9325324 2023-02-06 18:54:35
我的項目結構如下: https ://i.stack.imgur.com/SqqDh.png這是我的 Dockerfile:FROM golang:1.19ADD . /go/src/myappWORKDIR /go/src/myappRUN go mod init cloudmetaRUN go get github.com/go-sql-driver/mysqlRUN go get -u github.com/gin-gonic/ginRUN go build -o bin/cloudmetaCMD [ "bin/cloudmeta" ]當我嘗試構建我的 docker-container 時出現此錯誤:package cloudmeta/backend/handlers is not in GOROOT (/usr/local/go/src/cloudmeta/backend/handlers)
查看完整描述

1 回答

?
ABOUTYOU

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

在 docker 中構建 Go 代碼時,你不應該使用go mod init. 查看來自 docker docs的以下示例dockerfile:

# syntax=docker/dockerfile:1


FROM golang:1.16-alpine


WORKDIR /app


COPY go.mod ./

COPY go.sum ./

RUN go mod download


COPY *.go ./


RUN go build -o /docker-gs-ping


EXPOSE 8080


CMD [ "/docker-gs-ping" ]

docker docs 指南更深入地總結了一些事情:

  1. 您應該將您的go.modgo.sum文件復制到圖像中的項目目錄中。

  2. 現在您可以運行go mod download命令來安裝所需的 go 模塊。

  3. 然后你需要將你的源代碼復制到圖像中。

  4. 現在您可以使用go build命令編譯源代碼。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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