个人博客,记录知识防止遗忘
docker  build 重构php-fpm镜像(增加新扩展)
docker build 重构php-fpm镜像(增加新扩展)

docker build 重构php-fpm镜像(增加新扩展)

docker官方的 php;7.4.16-fpm 镜像通过run启动后,默认没有启用mysqli模块,而wordpress需要使用mysqli来连接数据库;
此外很多时候我们都需要根据需要来启用某些php扩展;
此时我们可以在官方镜像的基础上自己重新构建。

1    install-php-extensions 介绍:

这是github上一个25k star的项目,目的就是为了在docker中安装php拓展,具体项目参见:
https://github.com/mlocati/docker-php-extension-installer
其中有详细的可启用模块列表及对应的版本支持,这里随便截个图
image.png

# 下载该工具,复制到镜像中可以直接使用;也可以将其加入dockerfile中
wget  https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions

2    dockerfile编写

首先 创建一个名为“Dockerfile”的文件
注意,文件名必须是“Dockerfile”,“D”是大写字母。

Dockerfile 文件中包含以下命令:

FROM php:7.4.16-fpm
LABEL maintainer="https://caojie.blog"
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

(也可以预先使用wget将install-php-extensions下载到本地,通过 copy复制进容器。避免github被墙下载失败卡住dockerfile)

执行过程
image.png
构建成功后通过 docker images 即可查到该镜像
image.png

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注