在Docker中安装GD扩展

时间:2020-04-15 12:11:32

标签: php docker

我是Docker的新手,正在尝试安装PHP GD 扩展。

这是我当前的Dockerfile:

FROM php:7.4-fpm-alpine

RUN docker-php-ext-install mysqli pdo pdo_mysql bcmath gd

通过docker-compose build && docker-compose up -d运行docker时,我遇到很多错误,最后得到以下消息:

configure: error: Package requirements (zlib) were not met:

Package 'zlib', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables ZLIB_CFLAGS
and ZLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
ERROR: Service 'php' failed to build: The command '/bin/sh -c docker-php-ext-install mysqli pdo pdo_mysql bcmath gd' returned a non-zero code: 1

Docker容器末尾没有“ gd”即可正常运行。

可能是什么问题,我该如何解决?

3 个答案:

答案 0 :(得分:6)

您可以尝试在Dockerfile中添加以下设置:

FROM php:7.4-fpm
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd

官方documentation。希望对您有帮助。

答案 1 :(得分:1)

解决该问题的另一种方法是在 Dockerfile 中使用 install-php-extensions

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 xdebug

适用于 Alpine 和 PHP8。 文档 here

答案 2 :(得分:0)

如果有人在Docker中安装php-gd扩展程序时遇到问题,请查看@Dmitry注释或Documentation并搜索“ PHP Core Extensions”。

如果要查看如何运行带有php-gd扩展名的NGINX和PHP,可以在Github上看到完整的代码。