我尝试安装 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