Skip to content

Commit

Permalink
Merge pull request #815 from Automattic/refactor/fpm
Browse files Browse the repository at this point in the history
refactor(php-fpm): reduce image size and improve build time
  • Loading branch information
sjinks authored Jul 12, 2024
2 parents 2eace2b + c8be679 commit 0b4618f
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 21 deletions.
17 changes: 10 additions & 7 deletions php-fpm/Dockerfile.81
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ RUN \
export DEBIAN_FRONTEND=noninteractive && \
apt-get -q update && \
apt-get -y install eatmydata && \
eatmydata apt-get install -y software-properties-common gnupg --no-install-recommends && \
eatmydata add-apt-repository -y ppa:ondrej/php && \
eatmydata apt-get install -y curl lsb-release ca-certificates gnupg --no-install-recommends && \
echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
curl -sSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x71DAEAAB4AD4CAB6" | gpg --dearmor > /etc/apt/trusted.gpg.d/ppa-ondrej-php.gpg && \
eatmydata apt-get -q update && \
eatmydata apt-get install -y php8.1-dev php8.1-xml && \
eatmydata apt-get install -y php-pear --no-install-recommends && \
pecl install timezonedb && \
Expand All @@ -20,17 +22,18 @@ RUN \
apt-get -y install eatmydata && \
mkdir -p /usr/lib/libeatmydata && ln -s -t /usr/lib/libeatmydata/ /usr/lib/$(uname -m)-linux-gnu/libeatmydata.so* && \
eatmydata apt-get -y upgrade && \
eatmydata apt-get install -y software-properties-common gnupg --no-install-recommends && \
eatmydata add-apt-repository -y ppa:ondrej/php && \
eatmydata apt-get install -y curl less git jq mysql-client openssl wget vim nano && \
eatmydata apt-get install -y curl lsb-release ca-certificates gnupg --no-install-recommends && \
echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
curl -sSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x71DAEAAB4AD4CAB6" | gpg --dearmor > /etc/apt/trusted.gpg.d/ppa-ondrej-php.gpg && \
eatmydata apt-get -q update && \
eatmydata apt-get install -y less git jq mysql-client openssl wget vim nano && \
eatmydata apt-get install -y ghostscript msmtp --no-install-recommends && \
eatmydata apt-get install -y \
eatmydata apt-get install -y --no-install-recommends \
php8.1-cli php8.1-fpm \
php8.1-apcu php8.1-bcmath php8.1-curl php8.1-gd php8.1-gmagick php8.1-gmp php8.1-gnupg php8.1-intl php8.1-igbinary php8.1-mbstring php8.1-mcrypt \
php8.1-memcache php8.1-memcached php8.1-mysql php8.1-soap php8.1-sqlite3 php8.1-ssh2 php8.1-xdebug php8.1-xml php8.1-zip && \
eatmydata apt-get install -y php-pear --no-install-recommends && \
phpdismod ffi gettext readline sysvmsg xsl xdebug && \
eatmydata apt-get remove --purge -y software-properties-common && \
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* && \
eatmydata apt-get autoremove --purge -y && \
ln -s /usr/sbin/php-fpm8.1 /usr/sbin/php-fpm
Expand Down
17 changes: 10 additions & 7 deletions php-fpm/Dockerfile.82
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ RUN \
export DEBIAN_FRONTEND=noninteractive && \
apt-get -q update && \
apt-get -y install eatmydata && \
eatmydata apt-get install -y software-properties-common gnupg --no-install-recommends && \
eatmydata add-apt-repository -y ppa:ondrej/php && \
eatmydata apt-get install -y curl lsb-release ca-certificates gnupg --no-install-recommends && \
echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
curl -sSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x71DAEAAB4AD4CAB6" | gpg --dearmor > /etc/apt/trusted.gpg.d/ppa-ondrej-php.gpg && \
eatmydata apt-get -q update && \
eatmydata apt-get install -y php8.2-dev php8.2-xml && \
eatmydata apt-get install -y php-pear --no-install-recommends && \
pecl install timezonedb && \
Expand All @@ -20,17 +22,18 @@ RUN \
apt-get -y install eatmydata && \
mkdir -p /usr/lib/libeatmydata && ln -s -t /usr/lib/libeatmydata/ /usr/lib/$(uname -m)-linux-gnu/libeatmydata.so* && \
eatmydata apt-get -y upgrade && \
eatmydata apt-get install -y software-properties-common gnupg --no-install-recommends && \
eatmydata add-apt-repository -y ppa:ondrej/php && \
eatmydata apt-get install -y curl less git jq mysql-client openssl wget vim nano && \
eatmydata apt-get install -y curl lsb-release ca-certificates gnupg --no-install-recommends && \
echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
curl -sSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x71DAEAAB4AD4CAB6" | gpg --dearmor > /etc/apt/trusted.gpg.d/ppa-ondrej-php.gpg && \
eatmydata apt-get -q update && \
eatmydata apt-get install -y less git jq mysql-client openssl wget vim nano && \
eatmydata apt-get install -y ghostscript msmtp --no-install-recommends && \
eatmydata apt-get install -y \
eatmydata apt-get install -y --no-install-recommends \
php8.2-cli php8.2-fpm \
php8.2-apcu php8.2-bcmath php8.2-curl php8.2-gd php8.2-gmagick php8.2-gmp php8.2-gnupg php8.2-intl php8.2-igbinary php8.2-mbstring php8.2-mcrypt \
php8.2-memcache php8.2-memcached php8.2-mysql php8.2-soap php8.2-sqlite3 php8.2-ssh2 php8.2-xdebug php8.2-xml php8.2-zip && \
eatmydata apt-get install -y php-pear --no-install-recommends && \
phpdismod ffi gettext readline sysvmsg xsl xdebug && \
eatmydata apt-get remove --purge -y software-properties-common && \
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* && \
eatmydata apt-get autoremove --purge -y && \
ln -s /usr/sbin/php-fpm8.2 /usr/sbin/php-fpm
Expand Down
17 changes: 10 additions & 7 deletions php-fpm/Dockerfile.83
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ RUN \
export DEBIAN_FRONTEND=noninteractive && \
apt-get -q update && \
apt-get -y install eatmydata && \
eatmydata apt-get install -y software-properties-common gnupg --no-install-recommends && \
eatmydata add-apt-repository -y ppa:ondrej/php && \
eatmydata apt-get install -y curl lsb-release ca-certificates gnupg --no-install-recommends && \
echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
curl -sSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x71DAEAAB4AD4CAB6" | gpg --dearmor > /etc/apt/trusted.gpg.d/ppa-ondrej-php.gpg && \
eatmydata apt-get -q update && \
eatmydata apt-get install -y php8.3-dev php8.3-xml && \
eatmydata apt-get install -y php-pear --no-install-recommends && \
pecl install timezonedb && \
Expand All @@ -19,18 +21,19 @@ RUN \
apt-get -y install eatmydata && \
mkdir -p /usr/lib/libeatmydata && ln -s -t /usr/lib/libeatmydata/ /usr/lib/$(uname -m)-linux-gnu/libeatmydata.so* && \
eatmydata apt-get -y upgrade && \
eatmydata apt-get install -y software-properties-common gnupg libmcrypt4 zlib1g libmemcached11 libgraphicsmagick-q16-3 --no-install-recommends && \
eatmydata add-apt-repository -y ppa:ondrej/php && \
eatmydata apt-get install -y curl less git jq mysql-client openssl wget vim nano && \
eatmydata apt-get install -y curl lsb-release ca-certificates gnupg libmcrypt4 zlib1g libmemcached11 libgraphicsmagick-q16-3 --no-install-recommends && \
echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
curl -sSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x71DAEAAB4AD4CAB6" | gpg --dearmor > /etc/apt/trusted.gpg.d/ppa-ondrej-php.gpg && \
eatmydata apt-get -q update && \
eatmydata apt-get install -y less git jq mysql-client openssl wget vim nano && \
eatmydata apt-get install -y ghostscript msmtp --no-install-recommends && \
eatmydata apt-get install -y \
eatmydata apt-get install -y --no-install-recommends \
php8.3-cli php8.3-fpm \
php8.3-apcu php8.3-bcmath php8.3-curl php8.3-gd php8.3-gmagick php8.3-gmp php8.3-gnupg php8.3-igbinary \
php8.3-intl php8.3-mbstring php8.3-mcrypt php8.3-memcache php8.3-memcached php8.3-mysql php8.3-soap \
php8.3-sqlite3 php8.3-ssh2 php8.3-xdebug php8.3-xml php8.3-zip && \
eatmydata apt-get install -y php-pear --no-install-recommends && \
phpdismod ffi gettext readline sysvmsg xsl xdebug && \
eatmydata apt-get remove --purge -y software-properties-common && \
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* && \
eatmydata apt-get autoremove --purge -y && \
ln -s /usr/sbin/php-fpm8.3 /usr/sbin/php-fpm
Expand Down

0 comments on commit 0b4618f

Please sign in to comment.