Files
laravel_octane/Dockerfile
2023-01-22 15:58:00 +03:30

86 lines
2.6 KiB
Docker

FROM git.alshafagh.ir/docker/php:8.2-cli-bullseye
RUN apt-get update; \
apt-get upgrade -yqq; \
pecl -q channel-update pecl.php.net; \
apt-get install -yqq --no-install-recommends --show-progress \
apt-utils \
gnupg \
gosu \
git \
curl \
wget \
libcurl4-openssl-dev \
ca-certificates \
supervisor \
libmemcached-dev \
libz-dev \
libbrotli-dev \
libpq-dev \
libjpeg-dev \
libpng-dev \
libfreetype6-dev \
libssl-dev \
libwebp-dev \
libmcrypt-dev \
libonig-dev \
libzip-dev zip unzip \
libargon2-1 \
libidn2-0 \
libpcre2-8-0 \
libpcre3 \
libxml2 \
libzstd1 \
procps \
zlib1g-dev \
libicu-dev \
g++ \
libc-ares-dev
RUN docker-php-ext-configure zip
RUN docker-php-ext-configure intl
RUN docker-php-ext-configure gd --prefix=/usr --with-jpeg --with-webp --with-freetype
RUN docker-php-ext-install pdo_mysql exif pcntl bcmath gd intl zip mbstring sockets
RUN pecl install redis
RUN pecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-hook-curl="yes" enable-cares="yes" with-postgres="yes"' openswoole
RUN docker-php-ext-enable redis openswoole
RUN docker-php-source delete \
&& apt-get purge -y --auto-remove \
-o APT::AutoRemove::RecommendsImportant=false \
-o APT::AutoRemove::SuggestsImportant=false \
freetds-dev \
libbz2-dev \
libc-client-dev \
libffi-dev \
libfreetype6-dev \
libgmp3-dev \
libicu-dev \
libjpeg62-turbo-dev \
libmagickwand-dev \
libkrb5-dev \
libldap2-dev \
libmcrypt-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
libonig-dev \
librabbitmq-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libxml2-dev \
libxpm-dev \
libxslt1-dev \
zlib1g-dev \
libzip-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN groupadd --force -g 1000 octane && useradd -ms /bin/bash --no-log-init --no-user-group -g 1000 -u 1000 octane
WORKDIR /app
RUN chown -R octane:octane .
EXPOSE 80
COPY ./supervisord.conf /etc/supervisord.conf
COPY ./entrypoint.sh /etc/entrypoint.sh
ENTRYPOINT ["/etc/entrypoint.sh"]
HEALTHCHECK --start-period=5s --interval=2s --timeout=5s --retries=8 CMD php artisan octane:status || exit 1