From 88dd9768cea39003a042f28f6b6a694e1e2fc815 Mon Sep 17 00:00:00 2001 From: J0WI Date: Sun, 29 Apr 2018 23:10:45 +0200 Subject: [PATCH] Remove buildDeps after php extensions have been installed --- php-apache/Dockerfile | 14 ++++++++++++++ php-fpm/Dockerfile | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/php-apache/Dockerfile b/php-apache/Dockerfile index 29a7ee1..7d1f8f4 100644 --- a/php-apache/Dockerfile +++ b/php-apache/Dockerfile @@ -4,6 +4,8 @@ LABEL maintainer="Thomas Bruederli " RUN set -ex; \ apt-get update; \ \ + savedAptMark="$(apt-mark showmanual)"; \ + \ apt-get install -y --no-install-recommends \ libfreetype6-dev \ libicu-dev \ @@ -30,6 +32,18 @@ RUN set -ex; \ zip \ ; \ \ +# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark; \ + ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ + | awk '/=>/ { print $3 }' \ + | sort -u \ + | xargs -r dpkg-query -S \ + | cut -d: -f1 \ + | sort -u \ + | xargs -rt apt-mark manual; \ + \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ rm -rf /var/lib/apt/lists/* # enable mod_rewrite diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index f68cb9e..dd1a4af 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -4,6 +4,8 @@ LABEL maintainer="Thomas Bruederli " RUN set -ex; \ apt-get update; \ \ + savedAptMark="$(apt-mark showmanual)"; \ + \ apt-get install -y --no-install-recommends \ libfreetype6-dev \ libicu-dev \ @@ -30,6 +32,18 @@ RUN set -ex; \ zip \ ; \ \ +# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark; \ + ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ + | awk '/=>/ { print $3 }' \ + | sort -u \ + | xargs -r dpkg-query -S \ + | cut -d: -f1 \ + | sort -u \ + | xargs -rt apt-mark manual; \ + \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ rm -rf /var/lib/apt/lists/* # expose these volumes