mirror of
https://github.com/bitnami/containers.git
synced 2026-03-29 16:27:49 +08:00
[bitnami/php-fpm] Release 8.5.3-debian-12-r3 (#91066)
Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
@@ -7,7 +7,7 @@ ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith"
|
||||
ARG TARGETARCH
|
||||
|
||||
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
|
||||
org.opencontainers.image.created="2026-02-18T12:41:48Z" \
|
||||
org.opencontainers.image.created="2026-02-24T12:38:55Z" \
|
||||
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
|
||||
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/php-fpm/README.md" \
|
||||
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/php-fpm" \
|
||||
@@ -22,12 +22,13 @@ ENV OS_ARCH="${TARGETARCH:-amd64}" \
|
||||
COPY prebuildfs /
|
||||
SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"]
|
||||
# Install required system packages and dependencies
|
||||
RUN install_packages ca-certificates curl libbrotli1 libbsd0 libbz2-1.0 libcom-err2 libcurl4 libexpat1 libffi8 libfftw3-double3 libfontconfig1 libfreetype6 libgcc-s1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhashkit2 libhogweed6 libicu72 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblcms2-2 libldap-2.5-0 liblqr-1-0 libltdl7 liblzma5 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libmemcached11 libnettle8 libnghttp2-14 libonig5 libp11-kit0 libpcre2-8-0 libpng16-16 libpq5 libpsl5 libreadline8 librtmp1 libsasl2-2 libsodium23 libsqlite3-0 libssh2-1 libssl3 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libwebp7 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 libzstd1 procps zlib1g
|
||||
RUN install_packages ca-certificates curl libbrotli1 libbsd0 libbz2-1.0 libcom-err2 libcurl4 libexpat1 libffi8 libfftw3-double3 libfontconfig1 libfreetype6 libgcc-s1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhashkit2 libhogweed6 libicu72 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblcms2-2 libldap-2.5-0 liblqr-1-0 libltdl7 liblzma5 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libmemcached11 libnettle8 libnghttp2-14 libonig5 libp11-kit0 libpcre2-8-0 libpng16-16 libpq5 libpsl5 libreadline8 librtmp1 libsasl2-2 libsodium23 libsqlite3-0 libssh2-1 libssl3 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libuuid1 libwebp7 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 libzstd1 procps zlib1g
|
||||
RUN --mount=type=secret,id=downloads_url,env=SECRET_DOWNLOADS_URL \
|
||||
DOWNLOADS_URL=${SECRET_DOWNLOADS_URL:-${DOWNLOADS_URL}} ; \
|
||||
mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \
|
||||
COMPONENTS=( \
|
||||
"php-8.5.3-1-linux-${OS_ARCH}-debian-12" \
|
||||
"postgresql-lib-18.2.0-0-linux-${OS_ARCH}-debian-12" \
|
||||
) ; \
|
||||
for COMPONENT in "${COMPONENTS[@]}"; do \
|
||||
if [ ! -f "${COMPONENT}.tar.gz" ]; then \
|
||||
@@ -47,8 +48,9 @@ RUN sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defs && \
|
||||
|
||||
ENV APP_VERSION="8.5.3" \
|
||||
BITNAMI_APP_NAME="php-fpm" \
|
||||
IMAGE_REVISION="2" \
|
||||
PATH="/opt/bitnami/php/bin:/opt/bitnami/php/sbin:$PATH"
|
||||
IMAGE_REVISION="3" \
|
||||
LD_LIBRARY_PATH="/opt/bitnami/postgresql/lib:$LD_LIBRARY_PATH" \
|
||||
PATH="/opt/bitnami/php/bin:/opt/bitnami/php/sbin:/opt/bitnami/postgresql-lib/bin:$PATH"
|
||||
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
@@ -100,6 +100,10 @@ cd bitnami/APP/VERSION/OPERATING-SYSTEM
|
||||
docker build -t bitnami/APP:latest .
|
||||
```
|
||||
|
||||
## Using `docker-compose.yaml`
|
||||
|
||||
Please be aware this file has not undergone internal testing. Consequently, we advise its use exclusively for development or testing purposes.
|
||||
|
||||
## Connecting to other containers
|
||||
|
||||
This image is designed to be used with a web server to serve your PHP app, you can use docker networking to create a network and attach all the containers to that network.
|
||||
@@ -108,23 +112,7 @@ This image is designed to be used with a web server to serve your PHP app, you c
|
||||
|
||||
We will use PHP-FPM with nginx to serve our PHP app. Doing so will allow us to setup more complex configuration, serve static assets using nginx, load balance to different PHP-FPM instances, etc.
|
||||
|
||||
#### Step 1: Create a network
|
||||
|
||||
```console
|
||||
docker network create app-tier --driver bridge
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```yaml
|
||||
version: '2'
|
||||
|
||||
networks:
|
||||
app-tier:
|
||||
driver: bridge
|
||||
```
|
||||
|
||||
#### Step 2: Create a server block
|
||||
#### Step 1: Create a server block
|
||||
|
||||
Let's create an nginx server block to reverse proxy to our PHP-FPM container.
|
||||
|
||||
@@ -148,22 +136,11 @@ server {
|
||||
}
|
||||
```
|
||||
|
||||
Notice we've substituted the link alias name `myapp`, we will use the same name when creating the container.
|
||||
|
||||
Copy the server block above, saving the file somewhere on your host. We will mount it as a volume in our nginx container.
|
||||
|
||||
#### Step 3: Run the PHP-FPM image with a specific name
|
||||
#### Step 2: Run the nginx image
|
||||
|
||||
Docker's linking system uses container ids or names to reference containers. We can explicitly specify a name for our PHP-FPM server to make it easier to connect to other containers.
|
||||
|
||||
```console
|
||||
docker run -it --name phpfpm \
|
||||
--network app-tier
|
||||
-v /path/to/app:/app \
|
||||
bitnami/php-fpm
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
Execute the following docker-compose.yml file
|
||||
|
||||
```yaml
|
||||
services:
|
||||
@@ -173,21 +150,6 @@ services:
|
||||
- app-tier
|
||||
volumes:
|
||||
- /path/to/app:/app
|
||||
```
|
||||
|
||||
#### Step 4: Run the nginx image
|
||||
|
||||
```console
|
||||
docker run -it \
|
||||
-v /path/to/server_block.conf:/opt/bitnami/nginx/conf/server_blocks/yourapp.conf \
|
||||
--network app-tier \
|
||||
bitnami/nginx
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
nginx:
|
||||
image: bitnami/nginx:latest
|
||||
depends_on:
|
||||
@@ -198,7 +160,11 @@ services:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- /path/to/server_block.conf:/opt/bitnami/nginx/conf/server_blocks/yourapp.conf
|
||||
- /path/to/server_block.conf:/opt/bitnami/nginx/conf/server_blocks/myapp.conf
|
||||
|
||||
networks:
|
||||
app-tier:
|
||||
driver: bridge
|
||||
```
|
||||
|
||||
## PHP runtime
|
||||
@@ -270,48 +236,7 @@ docker run -it --name php-fpm -v /path/to/app:/app bitnami/php-fpm \
|
||||
|
||||
### Mount a custom config file
|
||||
|
||||
You can mount a custom config file from your host to edit the default configuration for the php-fpm docker image. The following is an example to alter the configuration of the _php-fpm.conf_ configuration file:
|
||||
|
||||
#### Step 1: Run the PHP-FPM image
|
||||
|
||||
Run the PHP-FPM image, mounting a file from your host.
|
||||
|
||||
```console
|
||||
docker run --name phpfpm -v /path/to/php-fpm.conf:/opt/bitnami/php/etc/php-fpm.conf bitnami/php-fpm
|
||||
```
|
||||
|
||||
or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/php-fpm/docker-compose.yml) file present in this repository:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
phpfpm:
|
||||
...
|
||||
volumes:
|
||||
- /path/to/php-fpm.conf:/opt/bitnami/php/etc/php-fpm.conf
|
||||
...
|
||||
```
|
||||
|
||||
#### Step 2: Edit the configuration
|
||||
|
||||
Edit the configuration on your host using your favorite editor.
|
||||
|
||||
```console
|
||||
vi /path/to/php-fpm.conf
|
||||
```
|
||||
|
||||
#### Step 3: Restart PHP-FPM
|
||||
|
||||
After changing the configuration, restart your PHP-FPM container for the changes to take effect.
|
||||
|
||||
```console
|
||||
docker restart phpfpm
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```console
|
||||
docker-compose restart phpfpm
|
||||
```
|
||||
You can mount a custom `/opt/bitnami/php/etc/php-fpm.conf` file from your host to edit the default configuration for the php-fpm docker image.
|
||||
|
||||
### Add additional .ini files
|
||||
|
||||
@@ -321,23 +246,6 @@ Multiple files are loaded in alphabetical order. It is common to have a file per
|
||||
|
||||
Please check [http://php.net/manual/en/configuration.file.php#configuration.file.scan](http://php.net/manual/en/configuration.file.php#configuration.file.scan) to know more about this feature.
|
||||
|
||||
In order to override the default `max_file_uploads` settings you can do the following:
|
||||
|
||||
1. Create a file called _custom.ini_ with the following content:
|
||||
|
||||
```config
|
||||
max_file_uploads = 30M
|
||||
```
|
||||
|
||||
2. Run the php-fpm container mounting the custom file.
|
||||
|
||||
```console
|
||||
docker run -it -v /path/to/custom.ini:/opt/bitnami/php/etc/conf.d/custom.ini bitnami/php-fpm php -i | grep max_file_uploads
|
||||
|
||||
```
|
||||
|
||||
You should see that PHP is using the new specified value for the `max_file_uploads` setting.
|
||||
|
||||
### FIPS configuration in Bitnami Secure Images
|
||||
|
||||
The Bitnami PHP-FPM Docker image from the [Bitnami Secure Images](https://go-vmware.broadcom.com/contact-us) catalog includes extra features and settings to configure the container with FIPS capabilities. You can configure the next environment variables:
|
||||
@@ -362,69 +270,6 @@ docker-compose logs phpfpm
|
||||
|
||||
_The `docker logs` command is only available when the `json-file` or `journald` logging driver is in use._
|
||||
|
||||
## Maintenance
|
||||
|
||||
### Upgrade this image
|
||||
|
||||
Bitnami provides up-to-date versions of PHP-FPM, including security patches, soon after they are made upstream. We recommend that you follow these steps to upgrade your container.
|
||||
|
||||
#### Step 1: Get the updated image
|
||||
|
||||
```console
|
||||
docker pull bitnami/php-fpm:latest
|
||||
```
|
||||
|
||||
or if you're using Docker Compose, update the value of the image property to
|
||||
`bitnami/php-fpm:latest`.
|
||||
|
||||
#### Step 2: Stop and backup the currently running container
|
||||
|
||||
Stop the currently running container using the command
|
||||
|
||||
```console
|
||||
docker stop php-fpm
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```console
|
||||
docker-compose stop php-fpm
|
||||
```
|
||||
|
||||
Next, take a snapshot of the persistent volume `/path/to/php-fpm-persistence` using:
|
||||
|
||||
```console
|
||||
rsync -a /path/to/php-fpm-persistence /path/to/php-fpm-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
|
||||
```
|
||||
|
||||
You can use this snapshot to restore the database state should the upgrade fail.
|
||||
|
||||
#### Step 3: Remove the currently running container
|
||||
|
||||
```console
|
||||
docker rm -v phpfpm
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```console
|
||||
docker-compose rm -v phpfpm
|
||||
```
|
||||
|
||||
#### Step 4: Run the new image
|
||||
|
||||
Re-create your container from the new image.
|
||||
|
||||
```console
|
||||
docker run --name phpfpm bitnami/php-fpm:latest
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```console
|
||||
docker-compose up phpfpm
|
||||
```
|
||||
|
||||
## Useful Links
|
||||
|
||||
- [Create An AMP Development Environment With Bitnami Containers](https://docs.bitnami.com/containers/how-to/create-amp-environment-containers/)
|
||||
@@ -453,12 +298,6 @@ docker-compose up phpfpm
|
||||
|
||||
- `/app` directory is no longer exported as a volume. This caused problems when building on top of the image, since changes in the volume are not persisted between Dockerfile `RUN` instructions. To keep the previous behavior (so that you can mount the volume in another container), create the container with the `-v /app` option.
|
||||
|
||||
## Using `docker-compose.yaml`
|
||||
|
||||
Please be aware this file has not undergone internal testing. Consequently, we advise its use exclusively for development or testing purposes.
|
||||
|
||||
If you detect any issue in the `docker-compose.yaml` file, feel free to report it or contribute with a fix by following our [Contributing Guidelines](https://github.com/bitnami/containers/blob/main/CONTRIBUTING.md).
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2026 Broadcom. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
||||
|
||||
Reference in New Issue
Block a user