as builder
RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main ./cmd/main.go
FROM scratch as production
COPY --from=builder /app/main .
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
CMD ["/main"]
Как-то можно ускорить процесс? Как нить сделать, чтобы скачивание зависимостей проекта было отдельным слоем и он закешировался...
Как-то разбить RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main ./cmd/main.go на 2 команды
надо добавить слой перед билдером где сделать go mod download или аналог чтобы не качать зависимости каждую сборку. Это как минимум.
да, я именно об этом. Есть рабочие экземплы?
отдельным RUN go get ./... + подмонтировать каталог кеша
Есть рабочие экземплы?
сам-то напиши? RUN --mount=type=cache,target=/my-cache-dir,sharing=locked \ go ... но работать будет для buildkit-та - а слои "для всех"
спс.... буду копать
Обсуждают сегодня