Docker 调用未定义的函数 imagecreatefromjpeg()



我尝试安装 GD,因为我收到错误"调用未定义的函数 imagecreatefromjpeg()"。

构建映像时出现错误

E: Unable to locate package libfreetype6-dev
E: Unable to locate package libjpeg62-turbo-dev
E: Unable to locate package libpng12-dev
The command '/bin/sh -c apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev && docker-php-ext-configure gd --enable-gd-native-ttf --with-freetype-dir=/usr/include/freetype2 --with-png-dir=/usr/include --with-jpeg-dir=/usr/include && docker-php-ext-install gd && docker-php-ext-enable gd' returned a non-zero code: 100

我的 Dockerfile

FROM php:7-fpm
# Install GD
RUN apt-get install -y 
libfreetype6-dev 
libjpeg62-turbo-dev 
libpng12-dev 
&& docker-php-ext-configure gd 
--enable-gd-native-ttf 
--with-freetype-dir=/usr/include/freetype2 
--with-png-dir=/usr/include 
--with-jpeg-dir=/usr/include 
&& docker-php-ext-install gd 
&& docker-php-ext-enable gd

安装 GD 的正确方法是什么?

先运行apt-get update更新本地软件包列表怎么样?它应该始终在安装之前运行:

FROM php:7-fpm
RUN apt-get update && apt-get install --yes libfreetype6-dev ....

根据官方图像文档:

如果你很难弄清楚在docker-php-ext-install之前需要安装哪些Debian或Alpine软件包,那么看看install-php-extensions项目。 要安装 GD 扩展,您只需将这些添加到 Dockerfile 的行中,即可获得每一件事:

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 && 
    install-php-extensions gd

最新更新