我有一个monorepo,拥有各种Go服务和图书馆.它的 struct 是
monorepo
services
service-a
- Dockerfile
go.mod
go.sum
我的go.mod驻留在monorepo的根目录中,服务使用go.mod文件中声明的依赖项.
我使用以下工具构建Docker映像
Docker build-t ome:tag./services/service-a/
当我try 使用上面的docker命令从monorepo的根构建我的Docker映像时,我得到以下错误.
复制失败:生成上下文之外的禁止路径:/go mod()
下面是我的文档文件
FROM golang:1.14.1-alpine3.11
RUN apk add --no-cache ca-certificates git
# Enable Go Modules
ENV GO111MODULE=on
# Set the Current Working Directory inside the container
WORKDIR /app
# Copy go mod and sum files
COPY ../../go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o service-a
ENTRYPOINT ["/app/service-a"]
我需要做些什么才能将不在当前目录下的文件添加到Docker映像中,而无需单独try .mod和go.monorepo内每项服务的金额?