先抛官方文档:https://github.com/docker-library/docs/tree/master/php

通过使用 php:7.3-fpm 镜像,添加mongodb扩展

dockerfile如下

1
2
3
4
FROM php:7.3-fpm
#COPY sources.list /etc/apt/sources.list
RUN apt update && apt -y install procps net-tools pkg-config libpcre3-dev
RUN pecl install mongodb

总会抛出错误

1
2
3
Package "mongodb" does not have REST info xml available
install failed
The command '/bin/sh -c pecl install mongodb' returned a non-zero code: 1

之前安装redis时候也碰到过,后来通指定redis版本完美解决

但总是反反复复,有时候 https://pecl.php.net/ 也无法打开

查看 资料 并进行尝试

1
2
3
4
pecl install redis 这种写法,有时候无法找到redis,但通过容器里面单独执行 可用
更改写法
pecl install https://pecl.php.net/get/mongodb-1.6.0.tgz
完美编译

包地址通过 pecl 右上角搜索获取

放一篇文章,主要描述 php-fpm 配置中 process_max 和 pm.max_children 的关系