From 1545dc181851b50156d8a6452d41c4582d08f8cb Mon Sep 17 00:00:00 2001 From: Tim de Pater Date: Mon, 15 Jan 2024 20:38:00 +0100 Subject: [PATCH] Upgrade to Alpine Linux 3.19 and PHP 8.3 --- Dockerfile | 44 ++++++++++++++++++++--------------------- README.md | 12 +++++------ config/supervisord.conf | 2 +- docs/xdebug-support.md | 2 +- run_tests.sh | 2 +- 5 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index a1fa721f3..764537a0c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -ARG ALPINE_VERSION=3.18 +ARG ALPINE_VERSION=3.19 FROM alpine:${ALPINE_VERSION} LABEL Maintainer="Tim de Pater " -LABEL Description="Lightweight container with Nginx 1.24 & PHP 8.2 based on Alpine Linux." +LABEL Description="Lightweight container with Nginx 1.24 & PHP 8.3 based on Alpine Linux." # Setup document root WORKDIR /var/www/html @@ -9,24 +9,24 @@ WORKDIR /var/www/html RUN apk add --no-cache \ curl \ nginx \ - php82 \ - php82-ctype \ - php82-curl \ - php82-dom \ - php82-fileinfo \ - php82-fpm \ - php82-gd \ - php82-intl \ - php82-mbstring \ - php82-mysqli \ - php82-opcache \ - php82-openssl \ - php82-phar \ - php82-session \ - php82-tokenizer \ - php82-xml \ - php82-xmlreader \ - php82-xmlwriter \ + php83 \ + php83-ctype \ + php83-curl \ + php83-dom \ + php83-fileinfo \ + php83-fpm \ + php83-gd \ + php83-intl \ + php83-mbstring \ + php83-mysqli \ + php83-opcache \ + php83-openssl \ + php83-phar \ + php83-session \ + php83-tokenizer \ + php83-xml \ + php83-xmlreader \ + php83-xmlwriter \ supervisor # Configure nginx - http @@ -35,7 +35,7 @@ COPY config/nginx.conf /etc/nginx/nginx.conf COPY config/conf.d /etc/nginx/conf.d/ # Configure PHP-FPM -ENV PHP_INI_DIR /etc/php82 +ENV PHP_INI_DIR /etc/php83 COPY config/fpm-pool.conf ${PHP_INI_DIR}/php-fpm.d/www.conf COPY config/php.ini ${PHP_INI_DIR}/conf.d/custom.ini @@ -46,7 +46,7 @@ COPY config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf RUN chown -R nobody.nobody /var/www/html /run /var/lib/nginx /var/log/nginx # Create symlink for php -RUN ln -s /usr/bin/php82 /usr/bin/php +RUN ln -s /usr/bin/php83 /usr/bin/php # Switch to use a non-root user from here on USER nobody diff --git a/README.md b/README.md index f9888fd1c..adb9d6284 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# Docker PHP-FPM 8.2 & Nginx 1.24 on Alpine Linux -Example PHP-FPM 8.2 & Nginx 1.24 container image for Docker, built on [Alpine Linux](https://www.alpinelinux.org/). +# Docker PHP-FPM 8.3 & Nginx 1.24 on Alpine Linux +Example PHP-FPM 8.3 & Nginx 1.24 container image for Docker, built on [Alpine Linux](https://www.alpinelinux.org/). Repository: https://github.com/TrafeX/docker-php-nginx @@ -7,7 +7,7 @@ Repository: https://github.com/TrafeX/docker-php-nginx * Built on the lightweight and secure Alpine Linux distribution * Multi-platform, supporting AMD4, ARMv6, ARMv7, ARM64 * Very small Docker image size (+/-40MB) -* Uses PHP 8.2 for the best performance, low CPU usage & memory footprint +* Uses PHP 8.3 for the best performance, low CPU usage & memory footprint * Optimized for 100 concurrent users * Optimized to only use resources when there's traffic (by using PHP-FPM's `on-demand` process manager) * The services Nginx, PHP-FPM and supervisord run under a non-privileged user (nobody) to make it more secure @@ -16,7 +16,7 @@ Repository: https://github.com/TrafeX/docker-php-nginx [![Docker Pulls](https://img.shields.io/docker/pulls/trafex/php-nginx.svg)](https://hub.docker.com/r/trafex/php-nginx/) ![nginx 1.24](https://img.shields.io/badge/nginx-1.24-brightgreen.svg) -![php 8.2](https://img.shields.io/badge/php-8.2-brightgreen.svg) +![php 8.3](https://img.shields.io/badge/php-8.3-brightgreen.svg) ![License MIT](https://img.shields.io/badge/license-MIT-blue.svg) ## [![Trafex Consultancy](https://timdepater.com/logo/mini-logo.png)](https://timdepater.com?mtm_campaign=github) @@ -49,11 +49,11 @@ Nginx configuration: PHP configuration: - docker run -v "`pwd`/php-setting.ini:/etc/php82/conf.d/settings.ini" trafex/php-nginx + docker run -v "`pwd`/php-setting.ini:/etc/php83/conf.d/settings.ini" trafex/php-nginx PHP-FPM configuration: - docker run -v "`pwd`/php-fpm-settings.conf:/etc/php82/php-fpm.d/server.conf" trafex/php-nginx + docker run -v "`pwd`/php-fpm-settings.conf:/etc/php83/php-fpm.d/server.conf" trafex/php-nginx _Note; Because `-v` requires an absolute path I've added `pwd` in the example to return the absolute path to the current directory_ diff --git a/config/supervisord.conf b/config/supervisord.conf index 584aed26b..26dabbe66 100644 --- a/config/supervisord.conf +++ b/config/supervisord.conf @@ -5,7 +5,7 @@ logfile_maxbytes=0 pidfile=/run/supervisord.pid [program:php-fpm] -command=php-fpm82 -F +command=php-fpm83 -F stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr diff --git a/docs/xdebug-support.md b/docs/xdebug-support.md index 76ca1d78c..46c78a2fb 100644 --- a/docs/xdebug-support.md +++ b/docs/xdebug-support.md @@ -27,7 +27,7 @@ FROM trafex/php-nginx:latest USER root # Install xdebug -RUN apk add --no-cache php82-pecl-xdebug +RUN apk add --no-cache php83-pecl-xdebug # Add configuration COPY xdebug.ini ${PHP_INI_DIR}/conf.d/xdebug.ini diff --git a/run_tests.sh b/run_tests.sh index 155fd0c56..69d0b8f3e 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -1,3 +1,3 @@ #!/usr/bin/env sh apk --no-cache add curl -curl --silent --fail http://app:8080 | grep 'PHP 8.2' +curl --silent --fail http://app:8080 | grep 'PHP 8.3'