2018-01-07 19:08:43 -08:00
|
|
|
# build image
|
2018-12-01 22:28:47 -08:00
|
|
|
FROM golang:1.11 as build
|
2015-11-25 10:57:58 -08:00
|
|
|
|
2016-08-20 10:02:42 -07:00
|
|
|
# required to force cgo (for sqlite driver) with cross compile
|
2015-12-01 17:36:23 -08:00
|
|
|
ENV CGO_ENABLED 1
|
2015-11-25 10:57:58 -08:00
|
|
|
|
2018-01-22 20:38:40 -08:00
|
|
|
# install database clients
|
|
|
|
|
RUN apt-get update \
|
|
|
|
|
&& apt-get install -y --no-install-recommends \
|
|
|
|
|
mysql-client \
|
|
|
|
|
postgresql-client \
|
|
|
|
|
sqlite3 \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
2015-12-01 17:36:23 -08:00
|
|
|
# development dependencies
|
2018-12-01 22:28:47 -08:00
|
|
|
RUN curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \
|
|
|
|
|
| sh -s v1.12.3
|
2015-11-25 10:57:58 -08:00
|
|
|
|
|
|
|
|
# copy source files
|
2018-12-01 22:28:47 -08:00
|
|
|
COPY . /src
|
|
|
|
|
WORKDIR /src
|
2015-11-25 10:57:58 -08:00
|
|
|
|
|
|
|
|
# build
|
2018-12-01 22:28:47 -08:00
|
|
|
RUN make build
|
2015-11-25 10:57:58 -08:00
|
|
|
|
2018-01-07 19:08:43 -08:00
|
|
|
# runtime image
|
2018-12-01 22:28:47 -08:00
|
|
|
FROM gcr.io/distroless/base
|
|
|
|
|
COPY --from=build /src/dist/dbmate-linux-amd64 /dbmate
|
|
|
|
|
ENTRYPOINT ["/dbmate"]
|