Skip to content

Commit 0868f5e

Browse files
author
Felipe Almeida Baccaro
committed
refactoring Dockerfile: improving dependency management and build process for PHP Alpine images.
1 parent 3655bec commit 0868f5e

2 files changed

Lines changed: 56 additions & 56 deletions

File tree

‎php/alpine/Dockerfile‎

Lines changed: 56 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,54 +2,71 @@ ARG PHP_VERSION="8.3"
22
ARG PHP_SAPI="cli"
33
FROM php:${PHP_VERSION}-${PHP_SAPI}-alpine AS base
44

5-
RUN apk update && apk upgrade --no-cache \
6-
&& apk add icu libzip libxml2 zip bzip2 libgd libpng libjpeg-turbo libwebp tiff freetype libpq libxslt \
7-
&& apk add --no-cache --virtual build-deps $PHPIZE_DEPS \
8-
g++ \
9-
autoconf \
10-
make \
11-
icu-dev \
12-
libzip-dev \
13-
libxml2-dev \
14-
zip \
15-
bzip2-dev \
16-
libgd \
17-
libpng-dev \
18-
libjpeg-turbo-dev \
19-
libwebp-dev \
20-
tiff-dev \
21-
freetype-dev \
22-
libpq-dev \
23-
libxslt-dev \
24-
rabbitmq-c-dev \
25-
&& apk add --update --no-cache linux-headers \
26-
&& pecl install amqp ds redis \
27-
&& docker-php-ext-enable ds redis amqp \
28-
&& docker-php-ext-configure intl \
29-
&& docker-php-ext-configure zip \
30-
&& docker-php-ext-configure pgsql --with-pgsql=/usr/local/pgsql \
31-
&& docker-php-ext-configure bz2 \
32-
&& docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ --with-webp=/usr/include/ \
33-
&& docker-php-ext-install -j$(nproc) gd \
34-
&& docker-php-ext-install intl bz2 exif zip bcmath mysqli pgsql pdo pdo_pgsql pdo_mysql soap sockets xsl \
35-
&& apk del -f build-deps
5+
RUN apk upgrade --no-cache \
6+
&& apk add --no-cache \
7+
bzip2 \
8+
freetype \
9+
icu-libs \
10+
libjpeg-turbo \
11+
libpng \
12+
libpq \
13+
libwebp \
14+
libxml2 \
15+
libxslt \
16+
libzip \
17+
rabbitmq-c \
18+
tiff \
19+
zip \
20+
&& apk add --no-cache --virtual build-deps \
21+
$PHPIZE_DEPS \
22+
bzip2-dev \
23+
freetype-dev \
24+
icu-dev \
25+
libjpeg-turbo-dev \
26+
libpng-dev \
27+
libpq-dev \
28+
libwebp-dev \
29+
libxml2-dev \
30+
libxslt-dev \
31+
libzip-dev \
32+
linux-headers \
33+
rabbitmq-c-dev \
34+
tiff-dev \
35+
&& pecl install amqp ds redis \
36+
&& docker-php-ext-enable ds redis amqp \
37+
&& docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
38+
&& docker-php-ext-configure pgsql --with-pgsql=/usr/include/postgresql/ \
39+
&& docker-php-ext-install -j$(nproc) \
40+
bcmath \
41+
bz2 \
42+
exif \
43+
gd \
44+
intl \
45+
mysqli \
46+
pdo \
47+
pdo_mysql \
48+
pdo_pgsql \
49+
pgsql \
50+
soap \
51+
sockets \
52+
xsl \
53+
zip \
54+
&& apk del build-deps
3655

3756
WORKDIR /var/www/html
3857

3958
FROM base AS dev
4059

41-
RUN apk add --no-cache --virtual build-dev-deps autoconf g++ make \
60+
RUN apk add --no-cache --virtual build-dev-deps $PHPIZE_DEPS linux-headers \
61+
&& apk add --no-cache git unzip \
4262
&& pecl install xdebug \
4363
&& docker-php-ext-enable xdebug \
44-
&& apk del -f build-dev-deps
64+
&& apk del build-dev-deps
4565

46-
COPY etc/php-ext-xdebug.ini /usr/local/etc/php/conf.d/php-ext-xdebug.ini
66+
COPY etc/php-ext-xdebug.ini /usr/local/etc/php/conf.d/php-ext-xdebug.ini
67+
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
4768

48-
COPY composer-installater.sh /composer-installation.sh
49-
50-
RUN chmod +x /composer-installation.sh && /composer-installation.sh && rm /composer-installation.sh
51-
52-
FROM base AS prod
69+
FROM base AS prod
5370

5471
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
5572

‎php/alpine/composer-installater.sh‎

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)