Skip to content

Commit 9e65d16

Browse files
committed
Adjust a bunch of bits for consistency and image size improvement
1 parent 46b1dc5 commit 9e65d16

File tree

9 files changed

+150
-62
lines changed

9 files changed

+150
-62
lines changed

7/apache/Dockerfile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,23 @@ FROM php:7.0-apache
44
RUN a2enmod rewrite
55

66
# install the PHP extensions we need
7-
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev \
8-
&& rm -rf /var/lib/apt/lists/* \
9-
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
10-
&& docker-php-ext-install gd mbstring pdo pdo_mysql pdo_pgsql zip
7+
RUN set -ex \
8+
&& buildDeps=' \
9+
libjpeg62-turbo-dev \
10+
libpng12-dev \
11+
libpq-dev \
12+
' \
13+
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \
14+
&& docker-php-ext-configure gd \
15+
--with-jpeg-dir=/usr \
16+
--with-png-dir=/usr \
17+
&& docker-php-ext-install -j "$(nproc)" gd mbstring pdo pdo_mysql pdo_pgsql zip \
18+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/gd.so' - libjpeg.so.62: cannot open shared object file: No such file or directory in Unknown on line 0
19+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/pdo_pgsql.so' - libpq.so.5: cannot open shared object file: No such file or directory in Unknown on line 0
20+
&& apt-mark manual \
21+
libjpeg62-turbo \
22+
libpq5 \
23+
&& apt-get purge -y --auto-remove $buildDeps
1124

1225
WORKDIR /var/www/html
1326

7/fpm-alpine/Dockerfile

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,28 @@ FROM php:7.0-fpm-alpine
33

44
# install the PHP extensions we need
55
# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642
6-
RUN apk add --no-cache \
7-
freetype \
8-
libpng \
9-
libjpeg-turbo \
6+
RUN set -ex \
7+
&& apk add --no-cache --virtual .build-deps \
8+
coreutils \
109
freetype-dev \
11-
libpng-dev \
1210
libjpeg-turbo-dev \
11+
libpng-dev \
1312
postgresql-dev \
1413
&& docker-php-ext-configure gd \
1514
--with-freetype-dir=/usr/include/ \
16-
--with-png-dir=/usr/include/ \
1715
--with-jpeg-dir=/usr/include/ \
18-
&& NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
19-
&& docker-php-ext-install -j${NPROC} gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
20-
&& apk del --no-cache freetype-dev libpng-dev libjpeg-turbo-dev
21-
22-
# set recommended PHP.ini settings
23-
# see https://secure.php.net/manual/en/opcache.installation.php
24-
RUN { \
25-
echo 'opcache.memory_consumption=128'; \
26-
echo 'opcache.interned_strings_buffer=8'; \
27-
echo 'opcache.max_accelerated_files=4000'; \
28-
echo 'opcache.revalidate_freq=60'; \
29-
echo 'opcache.fast_shutdown=1'; \
30-
echo 'opcache.enable_cli=1'; \
31-
} > /usr/local/etc/php/conf.d/opcache-recommended.ini
16+
--with-png-dir=/usr/include/ \
17+
&& docker-php-ext-install -j "$(nproc)" gd mbstring pdo pdo_mysql pdo_pgsql zip \
18+
&& runDeps="$( \
19+
scanelf --needed --nobanner --recursive \
20+
/usr/local/lib/php/extensions \
21+
| awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
22+
| sort -u \
23+
| xargs -r apk info --installed \
24+
| sort -u \
25+
)" \
26+
&& apk add --virtual .drupal-phpexts-rundeps $runDeps \
27+
&& apk del .build-deps
3228

3329
WORKDIR /var/www/html
3430

7/fpm/Dockerfile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,23 @@
22
FROM php:7.0-fpm
33

44
# install the PHP extensions we need
5-
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev \
6-
&& rm -rf /var/lib/apt/lists/* \
7-
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
8-
&& docker-php-ext-install gd mbstring pdo pdo_mysql pdo_pgsql zip
5+
RUN set -ex \
6+
&& buildDeps=' \
7+
libjpeg62-turbo-dev \
8+
libpng12-dev \
9+
libpq-dev \
10+
' \
11+
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \
12+
&& docker-php-ext-configure gd \
13+
--with-jpeg-dir=/usr \
14+
--with-png-dir=/usr \
15+
&& docker-php-ext-install -j "$(nproc)" gd mbstring pdo pdo_mysql pdo_pgsql zip \
16+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/gd.so' - libjpeg.so.62: cannot open shared object file: No such file or directory in Unknown on line 0
17+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/pdo_pgsql.so' - libpq.so.5: cannot open shared object file: No such file or directory in Unknown on line 0
18+
&& apt-mark manual \
19+
libjpeg62-turbo \
20+
libpq5 \
21+
&& apt-get purge -y --auto-remove $buildDeps
922

1023
WORKDIR /var/www/html
1124

8.2/apache/Dockerfile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,23 @@ FROM php:7.0-apache
44
RUN a2enmod rewrite
55

66
# install the PHP extensions we need
7-
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev \
8-
&& rm -rf /var/lib/apt/lists/* \
9-
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
10-
&& docker-php-ext-install gd mbstring opcache pdo pdo_mysql pdo_pgsql zip
7+
RUN set -ex \
8+
&& buildDeps=' \
9+
libjpeg62-turbo-dev \
10+
libpng12-dev \
11+
libpq-dev \
12+
' \
13+
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \
14+
&& docker-php-ext-configure gd \
15+
--with-jpeg-dir=/usr \
16+
--with-png-dir=/usr \
17+
&& docker-php-ext-install -j "$(nproc)" gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
18+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/gd.so' - libjpeg.so.62: cannot open shared object file: No such file or directory in Unknown on line 0
19+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/pdo_pgsql.so' - libpq.so.5: cannot open shared object file: No such file or directory in Unknown on line 0
20+
&& apt-mark manual \
21+
libjpeg62-turbo \
22+
libpq5 \
23+
&& apt-get purge -y --auto-remove $buildDeps
1124

1225
# set recommended PHP.ini settings
1326
# see https://secure.php.net/manual/en/opcache.installation.php

8.2/fpm-alpine/Dockerfile

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,28 @@ FROM php:7.0-fpm-alpine
33

44
# install the PHP extensions we need
55
# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642
6-
RUN apk add --no-cache \
7-
freetype \
8-
libpng \
9-
libjpeg-turbo \
6+
RUN set -ex \
7+
&& apk add --no-cache --virtual .build-deps \
8+
coreutils \
109
freetype-dev \
11-
libpng-dev \
1210
libjpeg-turbo-dev \
11+
libpng-dev \
1312
postgresql-dev \
1413
&& docker-php-ext-configure gd \
1514
--with-freetype-dir=/usr/include/ \
16-
--with-png-dir=/usr/include/ \
1715
--with-jpeg-dir=/usr/include/ \
18-
&& NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
19-
&& docker-php-ext-install -j${NPROC} gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
20-
&& apk del --no-cache freetype-dev libpng-dev libjpeg-turbo-dev
16+
--with-png-dir=/usr/include/ \
17+
&& docker-php-ext-install -j "$(nproc)" gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
18+
&& runDeps="$( \
19+
scanelf --needed --nobanner --recursive \
20+
/usr/local/lib/php/extensions \
21+
| awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
22+
| sort -u \
23+
| xargs -r apk info --installed \
24+
| sort -u \
25+
)" \
26+
&& apk add --virtual .drupal-phpexts-rundeps $runDeps \
27+
&& apk del .build-deps
2128

2229
# set recommended PHP.ini settings
2330
# see https://secure.php.net/manual/en/opcache.installation.php

8.2/fpm/Dockerfile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,23 @@
22
FROM php:7.0-fpm
33

44
# install the PHP extensions we need
5-
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev \
6-
&& rm -rf /var/lib/apt/lists/* \
7-
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
8-
&& docker-php-ext-install gd mbstring opcache pdo pdo_mysql pdo_pgsql zip
5+
RUN set -ex \
6+
&& buildDeps=' \
7+
libjpeg62-turbo-dev \
8+
libpng12-dev \
9+
libpq-dev \
10+
' \
11+
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \
12+
&& docker-php-ext-configure gd \
13+
--with-jpeg-dir=/usr \
14+
--with-png-dir=/usr \
15+
&& docker-php-ext-install -j "$(nproc)" gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
16+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/gd.so' - libjpeg.so.62: cannot open shared object file: No such file or directory in Unknown on line 0
17+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/pdo_pgsql.so' - libpq.so.5: cannot open shared object file: No such file or directory in Unknown on line 0
18+
&& apt-mark manual \
19+
libjpeg62-turbo \
20+
libpq5 \
21+
&& apt-get purge -y --auto-remove $buildDeps
922

1023
# set recommended PHP.ini settings
1124
# see https://secure.php.net/manual/en/opcache.installation.php

8.3-rc/apache/Dockerfile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,23 @@ FROM php:7.1-apache
44
RUN a2enmod rewrite
55

66
# install the PHP extensions we need
7-
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev \
8-
&& rm -rf /var/lib/apt/lists/* \
9-
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
10-
&& docker-php-ext-install gd mbstring opcache pdo pdo_mysql pdo_pgsql zip
7+
RUN set -ex \
8+
&& buildDeps=' \
9+
libjpeg62-turbo-dev \
10+
libpng12-dev \
11+
libpq-dev \
12+
' \
13+
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \
14+
&& docker-php-ext-configure gd \
15+
--with-jpeg-dir=/usr \
16+
--with-png-dir=/usr \
17+
&& docker-php-ext-install -j "$(nproc)" gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
18+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/gd.so' - libjpeg.so.62: cannot open shared object file: No such file or directory in Unknown on line 0
19+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/pdo_pgsql.so' - libpq.so.5: cannot open shared object file: No such file or directory in Unknown on line 0
20+
&& apt-mark manual \
21+
libjpeg62-turbo \
22+
libpq5 \
23+
&& apt-get purge -y --auto-remove $buildDeps
1124

1225
# set recommended PHP.ini settings
1326
# see https://secure.php.net/manual/en/opcache.installation.php

8.3-rc/fpm-alpine/Dockerfile

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,28 @@ FROM php:7.0-fpm-alpine
33

44
# install the PHP extensions we need
55
# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642
6-
RUN apk add --no-cache \
7-
freetype \
8-
libpng \
9-
libjpeg-turbo \
6+
RUN set -ex \
7+
&& apk add --no-cache --virtual .build-deps \
8+
coreutils \
109
freetype-dev \
11-
libpng-dev \
1210
libjpeg-turbo-dev \
11+
libpng-dev \
1312
postgresql-dev \
1413
&& docker-php-ext-configure gd \
1514
--with-freetype-dir=/usr/include/ \
16-
--with-png-dir=/usr/include/ \
1715
--with-jpeg-dir=/usr/include/ \
18-
&& NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
19-
&& docker-php-ext-install -j${NPROC} gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
20-
&& apk del --no-cache freetype-dev libpng-dev libjpeg-turbo-dev
16+
--with-png-dir=/usr/include/ \
17+
&& docker-php-ext-install -j "$(nproc)" gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
18+
&& runDeps="$( \
19+
scanelf --needed --nobanner --recursive \
20+
/usr/local/lib/php/extensions \
21+
| awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
22+
| sort -u \
23+
| xargs -r apk info --installed \
24+
| sort -u \
25+
)" \
26+
&& apk add --virtual .drupal-phpexts-rundeps $runDeps \
27+
&& apk del .build-deps
2128

2229
# set recommended PHP.ini settings
2330
# see https://secure.php.net/manual/en/opcache.installation.php

8.3-rc/fpm/Dockerfile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,23 @@
22
FROM php:7.1-fpm
33

44
# install the PHP extensions we need
5-
RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev \
6-
&& rm -rf /var/lib/apt/lists/* \
7-
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
8-
&& docker-php-ext-install gd mbstring opcache pdo pdo_mysql pdo_pgsql zip
5+
RUN set -ex \
6+
&& buildDeps=' \
7+
libjpeg62-turbo-dev \
8+
libpng12-dev \
9+
libpq-dev \
10+
' \
11+
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \
12+
&& docker-php-ext-configure gd \
13+
--with-jpeg-dir=/usr \
14+
--with-png-dir=/usr \
15+
&& docker-php-ext-install -j "$(nproc)" gd mbstring opcache pdo pdo_mysql pdo_pgsql zip \
16+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/gd.so' - libjpeg.so.62: cannot open shared object file: No such file or directory in Unknown on line 0
17+
# PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/pdo_pgsql.so' - libpq.so.5: cannot open shared object file: No such file or directory in Unknown on line 0
18+
&& apt-mark manual \
19+
libjpeg62-turbo \
20+
libpq5 \
21+
&& apt-get purge -y --auto-remove $buildDeps
922

1023
# set recommended PHP.ini settings
1124
# see https://secure.php.net/manual/en/opcache.installation.php

0 commit comments

Comments
 (0)