尝试在 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