FROM phpswoole/swoole:5.0.1-php8.2-alpine
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN apk update && apk add --no-cache supervisor
RUN apk add --no-cache libzip-dev
RUN apk add --no-cache msgpack-c
RUN chmod +x /usr/local/bin/install-php-extensions && sync
RUN apk add --no-cache linux-headers
RUN set -ex \
&& apk --no-cache add \
postgresql14-dev=14.12-r0
RUN set -ex \
&& apk --no-cache add \
sqlite-dev=3.40.1-r1
RUN docker-php-ext-install pdo pdo_mysql pdo_pgsql pdo_sqlite zip pcntl exif sockets opcache
RUN docker-php-ext-enable pdo pdo_mysql pdo_pgsql pdo_sqlite zip pcntl exif sockets opcache
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN apk add --update --virtual builds \
libc-dev \
yaml-dev \
autoconf \
re2c \
make \
gcc \
g++ \
gc
RUN pecl channel-update pecl.php.net
RUN pecl install msgpack
RUN docker-php-ext-enable msgpack
COPY src/ /var/www/html/
COPY supervisor/conf.d /etc/supervisor/conf.d
WORKDIR /var/www/html/
COPY --from=composer /usr/bin/composer /usr/bin/composer
ENV DISABLE_DEFAULT_SERVER=1
ENV COMPOSER_ALLOW_SUPERUSER=1
RUN composer install --no-interaction --prefer-dist --optimize-autoloader
RUN apk add --no-cache bash
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/server.conf"]
|