项目背景
Docker 容器镜像为了减小体积, 部分扩展未能被打包进去, 所以需要手动安装下
解决方案
-
进入容器
docker exec php72 /bin/sh -
查看已有的扩展目录
/usr/local/bin -
更新 apt-get
apt-get updateapt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
Advanced Package Tool,又名apt-get,是一款适用于Unix和Linux系统的应用程序管理器。最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。Apt-get成名的原因之一在于其出色的解决软件依赖关系的能力。其通常使用.deb-formatted文件,但经过修改后可以使用apt-rpm处理红帽的Package Manager(RPM)文件。
-
安装 gd 相应的依赖
apt-get install \ libwebp-dev \ libjpeg62-turbo-dev \ libpng-dev libxpm-dev \ libfreetype6-dev -
添加 gd 库编译选项:
docker-php-ext-configure gd \ --with-gd \ --with-webp-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-xpm-dir \ --with-freetype-dir -
安装 gd 扩展模块:
docker-php-ext-install -j$(nproc) gd -
安装 exif 扩展模块:
docker-php-ext-install exif -
安装缓存器 OPcache 扩展:
docker-php-ext-install opcache -
安装pdo扩展模块
docker-php-ext-install pdo_mysql -
安装 mysqli 扩展模块
docker-php-ext-install mysqli -
安装 zip 扩展模块
apt-get install libzip-dev docker-php-ext-install zip -
安装 sockets 扩展
docker-php-ext-install sockets -
安装 bcmath 扩展
docker-php-ext-install bcmath -
安装 redis 扩展
pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis