mirror of
https://github.com/netfun2000/docker-php-nginx.git
synced 2026-04-22 00:29:10 +08:00
Upgrade to Alpine Linux 3.19 and PHP 8.3
This commit is contained in:
44
Dockerfile
44
Dockerfile
@@ -1,7 +1,7 @@
|
||||
ARG ALPINE_VERSION=3.18
|
||||
ARG ALPINE_VERSION=3.19
|
||||
FROM alpine:${ALPINE_VERSION}
|
||||
LABEL Maintainer="Tim de Pater <code@trafex.nl>"
|
||||
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
|
||||
|
||||
12
README.md
12
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
|
||||
|
||||
[](https://hub.docker.com/r/trafex/php-nginx/)
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
## [](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_
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user