diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2020-05-03 09:55:55 +0200 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2020-05-03 09:55:55 +0200 | 
| commit | b02492a1b3c38dd2a2a636260425f93320ace5b2 (patch) | |
| tree | 5503de0d47eef113fbf4b8777d312e232054d5cc | |
| parent | 29302eb32e68ec4a6c37497547721494972e1ffe (diff) | |
Decrease image size
* use intermediate image for file setup
* Set version via build-arg instead of from .git
| -rw-r--r-- | Dockerfile | 51 | 
1 files changed, 35 insertions, 16 deletions
| @@ -1,3 +1,24 @@ +# docker build -t db-fakedisplay:latest --build-arg=dbf_version=$(git describe --dirty) . + +FROM debian:buster-slim as files + +ARG dbf_version=git + +COPY index.pl /app/ +COPY lib/ /app/lib/ +COPY public/ /app/public/ +COPY templates/ /app/templates/ +COPY share/ /app/share/ + +WORKDIR /app + +RUN ln -sf ../ext-templates/imprint.html.ep templates/imprint.html.ep \ +	&& ln -sf ../ext-templates/privacy.html.ep templates/privacy.html.ep + +RUN find lib -name *.pm | xargs sed -i \ +	-e "s/VERSION *= *.*;/VERSION = '${dbf_version}';/" \ +	-e "s/dbf_version *= *.*;/dbf_version = '${dbf_version}';/" +  FROM perl:5.30-slim  ARG DEBIAN_FRONTEND=noninteractive @@ -7,28 +28,26 @@ COPY cpanfile /app/cpanfile  WORKDIR /app  RUN apt-get update \ -	&& apt-get -y --no-install-recommends install ca-certificates curl gcc git libc6-dev libdb5.3 libdb5.3-dev libssl1.1 libssl-dev libxml2 libxml2-dev make zlib1g-dev \ +	&& apt-get -y --no-install-recommends install \ +		ca-certificates \ +		curl \ +		gcc \ +		libc6-dev \ +		libdb5.3 \ +		libdb5.3-dev \ +		libssl1.1 \ +		libssl-dev \ +		libxml2 \ +		libxml2-dev \ +		make \ +		zlib1g-dev \  	&& cpanm -n --no-man-pages --installdeps . \  	&& rm -rf ~/.cpanm \  	&& apt-get -y purge curl gcc libc6-dev libdb5.3-dev libssl-dev libxml2-dev make zlib1g-dev \  	&& apt-get -y autoremove \ -	&& apt-get -y clean \  	&& rm -rf /var/cache/apt/* /var/lib/apt/lists/* -COPY .git/ /app/.git/ -COPY lib/ /app/lib/ -COPY public/ /app/public/ -COPY templates/ /app/templates/ -COPY share/ /app/share/ -COPY index.pl /app - -RUN find lib -name *.pm | xargs sed -i \ -	-e "s/VERSION *= *.*;/VERSION = '$(git describe)';/" \ -	-e "s/dbf_version *= *.*;/dbf_version = '$(git describe)';/" \ -	&& rm -rf .git - -RUN ln -sf ../ext-templates/imprint.html.ep templates/imprint.html.ep \ -	&& ln -sf ../ext-templates/privacy.html.ep templates/privacy.html.ep +COPY --from=files /app/ /app/  EXPOSE 8092 | 
