Назад | Перейти на главную страницу

установка зависимостей php-gd на alpine linux в докер-контейнер php5-fpm-alpine

Попытка установить зависимости GD на alpine linux в докере.

Я создаю образ 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 distro. и вроде бы не очень популярен, значит мало информации или вообще не через гугл.

Имена пакетов в примере из docker hub относятся к версии debian. Вы должны использовать пакеты от 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