编写 Dockerfile

vim Dockerfile
FROM php:7.3-fpmADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"RUN chmod +x /usr/local/bin/install-php-extensions && sync && \    install-php-extensions bcmath bz2 calendar exif gd gettext gmp igbinary imagick memcached mongodb mysqli pcntl pdo_mysql pdo_pgsql pgsql redis shmop sockets swoole sysvmsg sysvsem sysvshm wddx xhprof xsl zipRUN install-php-extensions @composer

构建镜像并运行

$ docker build -t my-php .$ docker run -itd --name php -p 9001:9000 \-v /mnt/website/prod/project-name:/var/www/html \my-php:latest

反对的扩大

ExtensionPHP 7.2PHP 7.3PHP 7.4PHP 8.0
amqp
apcu
apcu_bc
bcmath
bz2
calendar
cmark
csv
dba
decimal
ds
enchant
ev
excimer
exif
ffi
gd
gearman
geoip
geospatial
gettext
gmagick
gmp
gnupg
grpc
http
igbinary
imagick
imap
interbase
intl
ioncube_loader
json_post
ldap
mailparse
maxminddb
mcrypt
memcache
memcached
mongodb
mosquitto
msgpack
mysqli
oauth
oci8
odbc
opcache
opencensus
parallel
pcntl
pcov
pdo_dblib
pdo_firebird
pdo_mysql
pdo_oci
pdo_odbc
pdo_pgsql
pdo_sqlsrv
pgsql
propro
protobuf
pspell
raphf
rdkafka
recode
redis
seaslog
shmop
smbclient
snmp
snuffleupagus
soap
sockets
solr
sqlsrv*
ssh2
swoole
sysvmsg
sysvsem
sysvshm
tensor
tidy
timezonedb
uopz
uuid
wddx
xdebug
xhprof
xlswriter
xmlrpc
xsl
yaml
yar
zip
zookeeper
zstd

已有的内置扩大

$ docker run --rm php:7.3-fpm php -m[PHP Modules]CorectypecurldatedomfileinfofilterftphashiconvjsonlibxmlmbstringmysqlndopensslpcrePDOpdo_sqlitePharposixreadlineReflectionsessionSimpleXMLsodiumSPLsqlite3standardtokenizerxmlxmlreaderxmlwriterzlib[Zend Modules]

参考:https://github.com/mlocati/do...