mount go cache during docker build
This commit is contained in:
22
Dockerfile
22
Dockerfile
@@ -1,25 +1,21 @@
|
||||
FROM golang:1.14-alpine AS base
|
||||
FROM golang:1.14-alpine AS builder
|
||||
RUN apk add -U --no-cache \
|
||||
build-base \
|
||||
ca-certificates \
|
||||
git \
|
||||
sqlite \
|
||||
taglib-dev
|
||||
build-base \
|
||||
ca-certificates \
|
||||
git \
|
||||
sqlite \
|
||||
taglib-dev
|
||||
WORKDIR /src
|
||||
COPY go.mod .
|
||||
COPY go.sum .
|
||||
ENV GO111MODULE=on
|
||||
RUN go mod download
|
||||
|
||||
FROM base AS builder
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
RUN ./_do_build_server && ./_do_build_scanner
|
||||
|
||||
FROM alpine
|
||||
FROM alpine:3.9
|
||||
RUN apk add -U --no-cache \
|
||||
ffmpeg \
|
||||
ca-certificates
|
||||
ffmpeg \
|
||||
ca-certificates
|
||||
COPY --from=builder \
|
||||
/usr/lib/libgcc_s.so.1 \
|
||||
/usr/lib/libstdc++.so.6 \
|
||||
|
||||
35
Dockerfile.dev
Normal file
35
Dockerfile.dev
Normal file
@@ -0,0 +1,35 @@
|
||||
# syntax=docker/dockerfile:experimental
|
||||
|
||||
FROM golang:1.14-alpine AS builder
|
||||
RUN apk add -U --no-cache \
|
||||
build-base \
|
||||
ca-certificates \
|
||||
git \
|
||||
sqlite \
|
||||
taglib-dev
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
RUN --mount=type=cache,target=/go/pkg/mod \
|
||||
--mount=type=cache,target=/root/.cache/go-build \
|
||||
./_do_build_server && ./_do_build_scanner
|
||||
|
||||
FROM alpine:3.9
|
||||
RUN apk add -U --no-cache \
|
||||
ffmpeg \
|
||||
ca-certificates
|
||||
COPY --from=builder \
|
||||
/usr/lib/libgcc_s.so.1 \
|
||||
/usr/lib/libstdc++.so.6 \
|
||||
/usr/lib/libtag.so.1 \
|
||||
/usr/lib/
|
||||
COPY --from=builder \
|
||||
/src/gonic \
|
||||
/src/gonicscan \
|
||||
/bin/
|
||||
VOLUME ["/data", "/music", "/cache"]
|
||||
EXPOSE 80
|
||||
ENV GONIC_DB_PATH /data/gonic.db
|
||||
ENV GONIC_LISTEN_ADDR :80
|
||||
ENV GONIC_MUSIC_PATH /music
|
||||
ENV GONIC_CACHE_PATH /cache
|
||||
CMD ["gonic"]
|
||||
Reference in New Issue
Block a user