在 php5-fpm-alpine docker 容器中的 alpine linux 上安装 php-gd 依赖项

在 php5-fpm-alpine docker 容器中的 alpine linux 上安装 php-gd 依赖项

尝试在 docker 中的 alpine linux 上安装 GD 依赖项。

我正在构建 php5-fpm-alpine 图像。

FROM php:5-fpm-alpine
RUN docker-php-ext-install mysqli
RUN apk upgrade --update && apk add \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng12-dev \
    && docker-php-ext-install -j$(nproc) mcrypt \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd

我收到错误:

ERROR: unsatisfiable constraints:
  libfreetype6-dev (missing):
    required by: world[libfreetype6-dev]
  libjpeg62-turbo-dev (missing):
    required by: world[libjpeg62-turbo-dev]
  libpng12-dev (missing):
    required by: world[libpng12-dev]

我对 Alpine 发行版的经验有限。而且它似乎不太流行,因此通过谷歌搜索到的信息很少或者根本没有。

答案1

docker hub 示例中的软件包名称适用于 debian 版本。您必须使用 alpine 中的软件包。您可以在此处搜索 alpine 软件包:https://pkgs.alpinelinux.org/packages

以下应该有效:

FROM php:5-fpm-alpine
RUN docker-php-ext-install mysqli
RUN apk upgrade --update && apk add \
  coreutils \
  freetype-dev \
  libjpeg-turbo-dev \
  libltdl \
  libmcrypt-dev \
  libpng-dev \
&& docker-php-ext-install -j$(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd

相关内容