Loading... # 需求 docker官方的php镜像一般很少能直接用,因为很多扩展都没有,比如php;7.4.16-fpm镜像通过run启动后,默认没有启用mysqli模块,很多时候我们都需要根据需要来启用某些php扩展,所以一般都需要在官方的基础上进行重构。 但是看了一些重构的教程都比较麻烦,今天发现这么一个项目`install-php-extensions` # install-php-extensions项目 项目地址:[https://github.com/mlocati/docker-php-extension-installer](https://https://github.com/mlocati/docker-php-extension-installer) # 构建项目 ## 编写Dockerfile ```yaml FROM php:7.4.16-fpm LABEL maintainer="https://imgki.com" ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ RUN chmod +x /usr/local/bin/install-php-extensions && sync #这里加上你要编译的模块 RUN install-php-extensions mysqli pdo_mysql gd exif imagick zip ``` ## 构建镜像 ```bash docker build -t my-php:7.4.16-fpm . ``` 之后很快构建完成,可以用docker images查看新构建的镜像 ![vmware_WVjXRMMYsb.png](https://imgki.com/usr/uploads/2023/02/1398371099.png) 有可以用`docker run --rm php_my:7.4.16-fpm php -m`查看包含的扩展 # 其他说明 ## Supported PHP extensions支持列表 官方github这里可以查看具体支持的列表,php版本和扩展的支持情况 [https://github.com/mlocati/docker-php-extension-installer#supported-php-extensions](https://https://github.com/mlocati/docker-php-extension-installer#supported-php-extensions) ## Special requirements特别要求 有些扩展是有特殊要求的 [https://github.com/mlocati/docker-php-extension-installer#supported-php-extensions](https://https://github.com/mlocati/docker-php-extension-installer#supported-php-extensions) Last modification:February 9, 2023 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏