mirror of
https://github.com/dimitri/pgloader.git
synced 2026-01-30 03:21:02 +01:00
* Add dockerfiles to .dockerignore Otherwise changes in the dockerfiles would invalidate the cache * Rewrite Dockerfile - Fix deprecated MAINTAINER instruction - Move maintainer label to the bottom (improving cache) - Tidy up apt-get - Use COPY instead of ADD see https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#add-or-copy - Remove WORKDIR instruction (we don't really need this) - Combine remaining RUN layers to reduce layer count - Move final binary instead of copying (reduce image size) * Use -slim image an multistage build Reduce size by using multistage builds and the -slim image. Use debian:stable instead of an specific code name (future proof). * [cosmetic] indent Dockerfile instructions Make it easier to see where a new build stage begins * Rewrite Dockerfile.ccl Apply the same changes to Dockerfile.ccl as we did for Dockerfile
45 lines
970 B
Docker
45 lines
970 B
Docker
FROM debian:stable-slim as builder
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
bzip2 \
|
|
ca-certificates \
|
|
curl \
|
|
freetds-dev \
|
|
gawk \
|
|
git \
|
|
libsqlite3-dev \
|
|
libssl1.1 \
|
|
libzip-dev \
|
|
make \
|
|
openssl \
|
|
patch \
|
|
sbcl \
|
|
time \
|
|
unzip \
|
|
wget \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY ./ /opt/src/pgloader
|
|
|
|
RUN mkdir -p /opt/src/pgloader/build/bin \
|
|
&& cd /opt/src/pgloader \
|
|
&& make
|
|
|
|
FROM debian:stable-slim
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
curl \
|
|
freetds-dev \
|
|
gawk \
|
|
libsqlite3-dev \
|
|
libzip-dev \
|
|
make \
|
|
sbcl \
|
|
unzip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /opt/src/pgloader/build/bin/pgloader /usr/local/bin
|
|
|
|
LABEL maintainer="Dimitri Fontaine <dim@tapoueh.org>" |