У меня есть структура пакета
$GOPATH/src/io.sure/api/proto/vi/party.pb.go
.../io.sure/party/party.go
../io.sure/Dockerfile
Импорт party.go:
import (
"context"
"google.golang.org/grpc"
"io.sure/api/proto/v1"
"log"
"net"
)
FROM golang:1.12.1-alpine AS builder
RUN apk update && apk add --no-cache git
WORKDIR /go/src/app
COPY ./party/ .
COPY ./api/ .
RUN go get -d -v
RUN CGO_ENABLED=0 go install
FROM scratch
WORKDIR /opt
COPY --from=builder /go/bin/app .
ENTRYPOINT ["/opt/app"]
Код компилируется и запускается из командной строки.Но когда я создаю образ докера, go get пытается загрузить io.sure / api / proto / v1, даже когда я скопировал папку api в образ докера.Как я могу остановить / пропустить загрузку пакета, так как у меня нет кода на github или любом другом публичном репо.
Делает ли это правильно, поскольку это мой собственный пакет, который нельзя экспортировать или экспортировать во внешний мир.
Я пытался использовать модули go, но у меня возникли проблемы, и я все еще хочу работатьс GOPATH.
повторил обе комбинации, но ошибка все та же.код копируется в образ gopath.
С Голана: 1.12.1-alpine AS builder RUN apk update && apk add --no-cache git WORKDIR $ GOPATH / src / io.sure COPY ./party/,КОПИЯ ./api/.RUN go get -d -v RUN CGO_ENABLED = 0 перейти к установке
С нуля WORKDIR / opt COPY --from = builder / go / bin / app.ENTRYPOINT ["/ opt / app"]
ОТ golang: 1.12.1-alpine AS build RUN apk update && apk add --no-cache git WORKDIR $ GOPATH / src RUN mkdir -p $ GOPATH / src/io.sure COPY ./party/.КОПИЯ ./api/.RUN go get -d -v RUN CGO_ENABLED = 0 перейти к установке
С нуля WORKDIR / opt COPY --from = builder / go / bin / app.ENTRYPOINT ["/ opt / app"] Извлечение https://io.sure/api/proto/v1/party?go-get=1 Не удалось получить https: Get https://io.sure/api/proto/v1/party?go-get=1: dial tcp: lookup io.sure на xxx.xx.0.2: 53: нет такого хост-пакета io.sure/ api / proto / v1 / party: неизвестный путь импорта «io.sure / api / proto / v1 / party» (https fetch: Get https://io.sure/api/proto/v1/party?go-get=1: dial tcp: lookup io.sure на xxx.31.0.2:53: такого хоста нет)