-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
65 lines (53 loc) · 1.52 KB
/
Dockerfile
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
FROM php:8.2-fpm-alpine
ARG DEBIAN_FRONTEND=noninteractive
ARG USER_ID
ARG GROUP_ID
# amd64
#ENV CPPFLAGS -Ofast -falign-functions=32 -fno-lto -fno-semantic-interposition -mno-vzeroupper -mprefer-vector-width=256 -march=x86-64-v3
# arm64
ENV CPPFLAGS -Ofast -fno-lto -fno-semantic-interposition
ENV LDFLAGS -s
# Install PHP extensions
RUN apk add --update \
$PHPIZE_DEPS \
freetype-dev \
git \
libjpeg-turbo-dev \
libpng-dev \
libxml2-dev \
libzip-dev \
openssh-client \
php-json \
php-openssl \
php-pdo \
php-pdo_mysql \
php-session \
php-simplexml \
php-tokenizer \
php-xml \
imagemagick \
imagemagick-libs \
imagemagick-dev \
php-pcntl \
php-zip \
&& docker-php-ext-install soap exif bcmath pdo_mysql pcntl \
&& docker-php-ext-configure gd --with-jpeg --with-freetype \
&& docker-php-ext-install gd \
&& docker-php-ext-install zip
RUN printf "\n" | pecl install imagick pcov \
&& docker-php-ext-enable --ini-name 20-imagick.ini imagick \
&& docker-php-ext-enable pcov
RUN pecl install -o -f redis \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis
# COPY ./php.ini /usr/local/etc/php/php.ini
# Install Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php \
&& php -r "unlink('composer-setup.php');" \
&& mv composer.phar /usr/bin/composer
RUN mkdir -p /.composer/cache/vcs
RUN chown -R "${USER_ID}:${GROUP_ID}" /.composer/cache/vcs
USER "${USER_ID}:${GROUP_ID}"
# Set working directory
WORKDIR /var/www/app