LABEL maintainer="vnrg <[email protected]>"
ENV PHP_VERSION=8.2
RUN apt update && \
apt install -y wget gnupg2 lsb-release && \
wget https://packages.sury.org/php/apt.gpg && apt-key add apt.gpg && \
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list && \
apt update && \
apt upgrade -y && \
apt install -y --no-install-recommends --no-install-suggests \
mc cron curl nginx \
php${PHP_VERSION}-fpm \
php${PHP_VERSION}-pdo-mysql \
php${PHP_VERSION}-pdo-pgsql \
php${PHP_VERSION}-sqlite3 \
php${PHP_VERSION}-gd \
php${PHP_VERSION}-mbstring \
php${PHP_VERSION}-curl \
php${PHP_VERSION}-xml \
php${PHP_VERSION}-redis \
php${PHP_VERSION}-xdebug && \
apt autoclean && \
apt clean && \
apt autoremove && \
rm -rf /var/lib/apt/lists/*
COPY ./nginx.conf /etc/nginx/sites-available/default
COPY ./php.ini /etc/php/$PHP_VERSION/fpm/conf.d/php.ini
COPY ./xdebug.ini /etc/php/$PHP_VERSION/fpm/conf.d/xdebug.ini
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN touch /var/log/cron.log
RUN usermod --uid 1000 www-data && groupmod --gid 1000 www-data
WORKDIR /var/www
COPY --chown=www-data:www-data ./app .
EXPOSE 80 443
ENTRYPOINT service cron start && service php${PHP_VERSION}-fpm start && service nginx start
Logs:
/var/www/nginx-error.log
/var/www/php-error.log
/var/log/cron.log
Example with cron:
FROM volodyanrg/debian_nginx_php
COPY --chown=www-data:www-data ./app /var/www
COPY ./my-cron /etc/cron.d/my-cron
RUN crontab /etc/cron.d/my-cron
Data in my-cron:
0 */3 * * * /usr/bin/php -f /var/www/public_html/index.php >> /var/log/cron.log 2>&1
Content type
Image
Digest
sha256:3141b5e02…
Size
88.1 MB
Last updated
8 months ago
docker pull volodyanrg/debian_nginx_php