Установить зависимости расширений PHP - PullRequest
0 голосов
/ 30 мая 2018

Я начал изучать Docker, и сейчас я создаю свой собственный контейнер с PHP7 и Apache.Мне нужно включить некоторые расширения PHP, но я хотел бы знать, как узнать, какие пакеты (зависимости) следует установить перед установкой расширения.

На данный момент это мой Dockerfile:

FROM php:7.0-apache
RUN apt-get update && apt-get install -y libpng-dev 
RUN docker-php-ext-install gd

В этом случае, чтобы включить расширение gd, я погуглил ошибку, возвращаемую на этапе сборки, и обнаружил, что для нее требуется пакет libpng-dev, но раздражает выполнение этих шагов для каждого отдельного расширения, которое я хочуустановить.

Как вы решаете подобные проблемы?

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Создание ваших собственных файлов Docker включает в себя метод проб и ошибок - или создание и настройку работы других.

Если вы еще не нашли это, взгляните: https://hub.docker.com/r/chialab/php/

К этому изображению добавлены расширения поверх официального базового изображения.Если вам не нужны все расширения на этом изображении, вы можете взглянуть на источник этого изображения и настроить его по своему вкусу.

0 голосов
/ 05 октября 2018

Процесс действительно раздражает, и очень многое может сделать компьютер.К счастью, кто-то написал скрипт для этого: Установщик расширения docker php

Ваш пример можно записать так:

FROM php:7.0-apache

#get the script
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/

#install the script
RUN chmod uga+x /usr/local/bin/install-php-extensions && sync

#run the script
RUN install-php-extensions gd
0 голосов
/ 30 мая 2018

Вот что я делаю, устанавливаю php и некоторые расширения и инструменты php.Вещи, которые мне обычно нужны ...

# Add the "PHP 7" ppa
RUN add-apt-repository -y \
ppa:ondrej/php

#Install PHP-CLI 7, some PHP extentions and some useful Tools with apt
RUN apt-get update && apt-get install -y --force-yes \
php7.0-cli \
php7.0-common \
php7.0-curl \
php7.0-json \
php7.0-xml \
php7.0-mbstring \
php7.0-mcrypt \
php7.0-mysql \
php7.0-pgsql \
php7.0-sqlite \
php7.0-sqlite3 \
php7.0-zip \
php7.0-memcached \
php7.0-gd \
php7.0-fpm \
php7.0-xdebug \
php7.1-bcmath \
php7.1-intl \
php7.0-dev \
libcurl4-openssl-dev \
libedit-dev \
libssl-dev \
libxml2-dev \
xz-utils \
sqlite3 \
libsqlite3-dev \
git \
curl \
vim \
nano \
net-tools \
pkg-config \
iputils-ping

# remove load xdebug extension (only load on phpunit command)
RUN sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...