2 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
您的 docker 上下文是 ./api,但 go.mod 位于父目錄中,因此 go.mod 不包含在您的映像中。
一種選擇是將 docker 上下文更改為源樹(shù)的根目錄(api 的父目錄),然后將文件/目錄從那里復(fù)制到映像中。

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
我通過(guò)以下方式解決這個(gè)問(wèn)題。
go mod init article/api在api目錄。
article
├ client
├ api
│ ├ main.go
│ ├ contoroller
│ │ └ contoroller.go
│ ├ //
│ ├ go.mod
│ ├ go.sum
│ └ Dockerfile
├ nginx
├ go.mod
├ go.sum
└ docker-compose.yml
使固定Docekrfile
FROM golang:latest
ENV GO111MODULE=on
WORKDIR /app
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN go build
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
ENTRYPOINT ["/app/api"]
命令docker-compose down然后docker-compose up --build
- 2 回答
- 0 關(guān)注
- 174 瀏覽
添加回答
舉報(bào)