php:7.0.13-fpm镜像安装gd扩展失败,求正确配置方案
在php:7.0.13-fpm中正确安装GD扩展的解决方案
错误原因
你遇到的libssl.so.1.0.0: cannot open shared object file和gd.so does not exist错误,本质是两个问题:
- 基础镜像缺少PHP 7.0依赖的旧版本SSL库
- 未提前安装GD扩展编译所需的系统开发依赖,导致编译失败无法生成gd.so文件
修正后的Dockerfile指令
将依赖安装、GD配置与安装、缓存清理合并为一个RUN指令(减少镜像层):
RUN apt-get update && apt-get install -y --no-install-recommends \ libssl1.0.0 \ libwebp-dev \ libjpeg-dev \ libpng-dev \ libxpm-dev \ libfreetype6-dev \ && 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 \ --enable-gd-native-ttf \ && docker-php-ext-install gd \ && apt-get purge -y --auto-remove \ && rm -rf /var/lib/apt/lists/*
关键说明
libssl1.0.0:解决PHP 7.0运行依赖的SSL共享库缺失问题- 各类
lib*-dev包:提供GD扩展编译时需要的头文件与链接库,确保docker-php-ext-configure能找到对应依赖完成编译 apt-get purge --auto-remove和rm -rf /var/lib/apt/lists/*:清理安装残留的包文件与缓存,缩小镜像体积
内容的提问来源于stack exchange,提问作者rholdberh
相关产品推荐
相关产品推荐

