docker image
#construire une image
FROM golang:1.13 AS builder
WORKDIR /go/src
##Télécharger les bibliothèques dépendantes(Je veux utiliser le cache, je vais donc le faire en premier)
ENV GO111MODULE=on
COPY go.mod go.sum ./
RUN go mod download
ADD . /myapp
WORKDIR /myapp
## main.Compilez go et enregistrez le binaire d'exécution
RUN CGO_ENABLED=0 GOOS=linux go build -o server ../myapp/cmd/main.go
# run-image temporelle
FROM alpine:3.10
COPY --from=builder /myapp/server /app
EXPOSE 50051
ENTRYPOINT ["/app"]
#construire une image
FROM golang:1.13 AS builder
ADD . /go/src/github.com/myself/myapp
WORKDIR /go/src/github.com/myself/myapp
##Dep installation et résolution des dépendances
RUN go get github.com/golang/dep/cmd/dep
RUN dep ensure
## main.Compilez go et enregistrez le binaire d'exécution
RUN CGO_ENABLED=0 GOOS=linux go build -o server /myapp/cmd/main.go
# run-image temporelle
FROM alpine:3.10
COPY --from=builder /go/src/github.com/myself/myapp/server /app
EXPOSE 50051
ENTRYPOINT ["/app"]
impossible de trouver le package dans la compilationles packages ont fondé A et B dans la compilation--Il y a plusieurs packages dans le même répertoire
_test sont interprétés comme du code de test, ils peuvent donc être placés en tant qu'éléments multiples à titre d'exception.XX n'utilise pas un système de contrôle de version connu/ vendor et cela a fonctionné pour une raison quelconque/ hoge n'est pas dans une erreur GOPATH / src connue――Je ne sais pas, mais la structure des répertoires semble inutile
$ GOPATH / src./ go / src dans le conteneur
--Mettre un lien symboliqueimportation de projet racine: dep ne prend actuellement pas en charge l'utilisation de GOPATH / src comme erreur de racine du projetGOPATH / src, mais il a été corrigé en le changeant en GOPATH / src / app.fatal: could not read Username for'https: // github.com '~--Lorsque vous prenez des ressources d'un référentiel privé, vous devez utiliser un jeton github, etc. Cependant, vous devriez pouvoir utiliser le chemin local lorsque vous utilisez les ressources de votre propre référentiel. Si vous ne pouvez pas l'obtenir, il est probable que le chemin soit faux
go / src / app à / go / src / github.com / self / my-appCGO_ENABLED = 0 au moment de la construction
CGO_ENABLED=0 go buildRecommended Posts