構成

root/
  ┝ Dockerfile
  ┗ src/
     └ main.go

Dockerfile(1.11以前)

FROM golang:latest as build

WORKDIR /go/src/app
ENV GOBIN=/go/bin
COPY . .

RUN go get -u github.com/golang/dep/cmd/dep
RUN dep init
RUN dep ensure
RUN go install -v ./...


FROM gcr.io/distroless/base
EXPOSE 5000
COPY --from=build /go/bin /
CMD ["/src"]

これで大概動きますが、ライブラリがないみたいに怒られるケースがあります。謎。

depを導入したので多分解決しました(2019/05/03)

Dockerfile(1.11以降)

Modulesをつかっていい感じにやります

FROM golang:latest as build

WORKDIR /go/src/app
ENV GOBIN=/go/bin
ENV GO111MODULE=on
COPY . .

RUN go mod init go-tools
RUN go install -v ./...


FROM gcr.io/distroless/base
EXPOSE 5000
COPY --from=build /go/bin /
CMD ["/src"]
广告
将在 10 秒后关闭
bannerAds