-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
41 lines (34 loc) · 1.33 KB
/
Dockerfile
File metadata and controls
41 lines (34 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
ARG PHP_VERSION=8.5
ARG PHP_VARIANT=cli
FROM --platform=$BUILDPLATFORM php:${PHP_VERSION}-${PHP_VARIANT}-alpine
WORKDIR /srv/workspace
ENV XDEBUG_MODE=off
COPY script/extensions.php script/extensions.php
COPY script/tools.php script/tools.php
COPY --from=composer /usr/bin/composer /usr/local/bin/composer
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/install-php-extensions
RUN set -euxo pipefail && \
ln -snf /usr/share/zoneinfo/UTC /etc/localtime && echo UTC > /etc/timezone && \
apk update && \
apk upgrade && \
php script/extensions.php | sh;
RUN set -euxo pipefail && \
apk del --no-network --purge --no-cache $PHPIZE_DEPS && \
apk add --no-cache $(php script/tools.php) && \
rm -vrf /tmp/* && \
rm -vrf /var/cache/apk/* && \
rm -vrf /var/lib/apt/lists/* && \
rm -vrf /var/tmp/* && \
rm -vrf script/* && \
rm $PHP_INI_DIR/php.ini-development && \
mv $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini && \
sed 's/short_open_tag=On/short_open_tag=Off/' $PHP_INI_DIR/php.ini && { \
echo 'memory_limit=2048M'; \
echo 'upload_max_filesize=128M'; \
echo 'post_max_size=128M'; \
} > /usr/local/etc/php/conf.d/memory-limit.ini && \
composer --version && \
gh --version && \
git --version && \
php --version && \
php -m;