Docker PHP FPM with lean alpine base. The download size is just about ~150MB.
It contains PHP8.0.7 with plenty of common and useful extensions.
You can also continue using adhocore/phpfpm:7.4
for PHP7.4.20.
If you are looking for a complete local development stack then check
adhocore/lemp
.
It comes prepackaged with composer
- both v1 and v2.
Use composer2
command for v2 and composer
for v1.
To pull latest image:
docker pull adhocore/phpfpm:8.0
# or for alpine 3.13
docker pull adhocore/phpfpm:8.0-alp3.13
# or for php 7.4
docker pull adhocore/phpfpm:7.4
# or for php 7.4 on alpine 3.13
docker pull adhocore/phpfpm:7.4-alp3.13
To use in docker-compose
# ./docker-compose.yml
version: '3'
services:
phpfpm:
image: adhocore/phpfpm:8.0
container_name: phpfpm
volumes:
- ./path/to/your/app:/var/www/html
# Here you can also volume php ini settings
# - /path/to/zz-overrides:/usr/local/etc/php/conf.d/zz-overrides.ini
ports:
- 9000:9000
environment:
# ...
The following PHP extensions are installed in adhocore/phpfpm:8.0
:
Total: 78
- apcu - ast - bcmath - bz2
- calendar - core - ctype - curl
- date - dom - ds - exif
- fileinfo - filter - ftp - gd
- gettext - gmp - grpc - hash
- iconv - igbinary - imap - intl
- json - ldap - libxml - lzf
- mbstring - memcached - mongodb - msgpack
- mysqli - mysqlnd - oauth - openssl
- pcntl - pcov - pcre - pdo
- pdo_mysql - pdo_pgsql - pdo_sqlite - pgsql
- phar - posix - pspell - psr
- rdkafka - readline - redis - reflection
- session - shmop - simplexml - soap
- sockets - sodium - spl - sqlite3
- standard - swoole - sysvmsg - sysvsem
- sysvshm - tidy - tokenizer - uuid
- xdebug - xhprof - xml - xmlreader
- xmlwriter - xsl - yaml - zend opcache
- zip - zlib
The following PHP extensions are installed in adhocore/phpfpm:7.4
:
Total: 86
- apcu - ast - bcmath - bz2
- calendar - core - ctype - curl
- date - dom - ds - ev
- event - exif - fileinfo - filter
- ftp - gd - gettext - gmp
- grpc - hash - hrtime - iconv
- igbinary - imagick - imap - intl
- json - ldap - libxml - lua
- lzf - mbstring - memcached - mongodb
- msgpack - mysqli - mysqlnd - oauth
- openssl - pcntl - pcov - pcre
- pdo - pdo_mysql - pdo_pgsql - pdo_sqlite
- pgsql - phalcon - phar - posix
- psr - rdkafka - readline - redis
- reflection - session - simplexml - soap
- sockets - sodium - spl - sqlite3
- ssh2 - standard - swoole - swoole_async
- sysvmsg - sysvsem - sysvshm - tideways_xhprof
- tidy - tokenizer - uuid - xdebug
- xlswriter - xml - xmlreader - xmlwriter
- yaf - yaml - zend opcache - zephir parser
- zip - zlib
For production you may want to get rid of some extensions that are not really required.
In such case, you can build a custom image on top adhocore/phpfpm:8.0
like so:
FROM adhocore/phpfpm:8.0
# Disable extensions you won't need. You can add as much as you want separated by space.
RUN docker-php-ext-disable xdebug pcov ldap
docker-php-ext-disable
is shell script available inadhocore/phpfpm:8.0
only and not in official PHP docker images.