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 \
|
RUN apk add -U --no-cache \
|
||||||
build-base \
|
build-base \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git \
|
git \
|
||||||
sqlite \
|
sqlite \
|
||||||
taglib-dev
|
taglib-dev
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY go.mod .
|
COPY go.mod .
|
||||||
COPY go.sum .
|
COPY go.sum .
|
||||||
ENV GO111MODULE=on
|
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
FROM base AS builder
|
|
||||||
WORKDIR /src
|
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN ./_do_build_server && ./_do_build_scanner
|
RUN ./_do_build_server && ./_do_build_scanner
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine:3.9
|
||||||
RUN apk add -U --no-cache \
|
RUN apk add -U --no-cache \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
ca-certificates
|
ca-certificates
|
||||||
COPY --from=builder \
|
COPY --from=builder \
|
||||||
/usr/lib/libgcc_s.so.1 \
|
/usr/lib/libgcc_s.so.1 \
|
||||||
/usr/lib/libstdc++.so.6 \
|
/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