|
| 1 | +ARG COMPOSER_VERSION="2.8.4" |
1 | 2 | ARG PHP_IMAGE=8.1-cli-alpine3.19 |
2 | 3 |
|
3 | | -FROM --platform=${TARGETPLATFORM:-linux/amd64} php:$PHP_IMAGE as builder |
4 | | - |
5 | | -RUN apk update |
6 | | -RUN apk add --no-cache \ |
7 | | - icu-dev \ |
8 | | - libxslt-dev \ |
9 | | - libzip-dev \ |
10 | | - linux-headers \ |
11 | | - ${PHPIZE_DEPS} |
12 | | - |
13 | | -RUN rm -rf /var/lib/apt/lists/* |
14 | | - |
15 | | -ARG PROTOBUF_VERSION="4.26.1" |
16 | | -RUN pecl channel-update pecl.php.net \ |
17 | | - && MAKEFLAGS="-j $(nproc)" pecl install protobuf-${PROTOBUF_VERSION} grpc |
18 | | - |
19 | | -RUN docker-php-ext-install \ |
20 | | - opcache \ |
21 | | - zip \ |
22 | | - xsl \ |
23 | | - dom \ |
24 | | - exif \ |
25 | | - intl \ |
26 | | - pcntl \ |
27 | | - bcmath \ |
28 | | - sockets |
29 | | - |
30 | | -RUN docker-php-ext-enable \ |
31 | | - protobuf \ |
32 | | - grpc |
| 4 | +FROM composer:${COMPOSER_VERSION} AS composer_stage |
| 5 | +FROM --platform=${TARGETPLATFORM:-linux/amd64} php:${PHP_IMAGE} |
33 | 6 |
|
34 | | -ARG XDEBUG_ENABLED=false |
35 | | -RUN if [ "${XDEBUG_ENABLED}" == "true" ]; then pecl install xdebug && docker-php-ext-enable xdebug; fi |
| 7 | +ENV TZ="UTC" |
| 8 | +ENV COMPOSER_ALLOW_SUPERUSER=1 |
| 9 | + |
| 10 | +COPY --from=ghcr.io/mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/install-php-extensions |
| 11 | +COPY --from=composer_stage /usr/bin/composer /usr/bin/composer |
36 | 12 |
|
37 | | -RUN docker-php-source delete \ |
38 | | - && apk del ${BUILD_DEPENDS} |
| 13 | +ARG XDEBUG_ENABLED=false |
| 14 | +ARG PROTOBUF_VERSION="4.29.1" |
| 15 | +ARG GRPC_VERSION="1.68.0" |
| 16 | + |
| 17 | +RUN apk update && apk add --no-cache \ |
| 18 | + bash \ |
| 19 | + ca-certificates \ |
| 20 | + icu-data-full icu-libs \ |
| 21 | + libzip \ |
| 22 | + linux-headers \ |
| 23 | + lz4-libs \ |
| 24 | + openssh-client \ |
| 25 | + ${PHPIZE_DEPS} |
| 26 | + |
| 27 | +RUN install-php-extensions grpc-${GRPC_VERSION} \ |
| 28 | + && install-php-extensions protobuf-${PROTOBUF_VERSION} \ |
| 29 | + && install-php-extensions intl \ |
| 30 | + && install-php-extensions zip \ |
| 31 | + && install-php-extensions curl \ |
| 32 | + && install-php-extensions opcache \ |
| 33 | + && install-php-extensions pcntl \ |
| 34 | + && install-php-extensions sockets \ |
| 35 | + && docker-php-ext-enable grpc protobuf |
| 36 | + |
| 37 | +RUN if [ "${XDEBUG_ENABLED}" == "true" ]; then install-php-extensions xdebug && docker-php-ext-enable xdebug; fi |
| 38 | + |
| 39 | +RUN apk del --no-cache ${PHPIZE_DEPS} \ |
| 40 | + && rm -rf /tmp/* |
| 41 | + |
| 42 | +RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" |
0 commit comments