Невозможно установить PHP Zip-модуль через Docker Build

У меня проблема с изображениями Docker. Я использую базовое изображение FROM ubuntu:16.04и установка на него следующих пакетов:

RUN apt-get -y install apache2
RUN apt-get -y install php7.0
RUN apt-get -y install libapache2-mod-php7.0
RUN apt-get -y install php7.0-mysql
RUN apt-get -y install php7.0-gd
RUN apt-get -y install php-pear
RUN apt-get -y install php7.0-curl
RUN apt-get -y install php7.0-mbstrin
RUN apt-get -y install php-imagick
RUN apt-get -y install curl
RUN apt-get -y install lynx-cur
RUN apt-get -y install php7.0-zip
#RUN apt-get -y install php7.0-xsl

Длинная история, мне нужно php7.0-zip пакет для установки, но делает docker build -t [...] . с отмеченными выше пакетами приводит к изображению, которое не имеет zip установлено / включено. Во время выполнения команды ошибок нет, и, похоже, все прошло хорошо.

Глядя на вывод команды, я вижу, что она правильно загружается и пытается установить libzip4 а также zip (libzip4, или же zlib, это зависимость, которая устанавливается вместе с php7.0-zip):

The following NEW packages will be installed:
libzip4 php7.0-zip
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 56.1 kB of archives.
After this operation, 186 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libzip4 amd64 1.0.1-0ubuntu1 [36.3 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64  php7.0-zip amd64 7.0.15-0ubuntu0.16.04.4 [19.9 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 56.1 kB in 0s (123 kB/s)

Selecting previously unselected package libzip4:amd64.
(Reading database ... 13491 files and directories currently installed.)
Preparing to unpack .../libzip4_1.0.1-0ubuntu1_amd64.deb ...
Unpacking libzip4:amd64 (1.0.1-0ubuntu1) ...

Selecting previously unselected package php7.0-zip.
Preparing to unpack .../php7.0-zip_7.0.15-0ubuntu0.16.04.4_amd64.deb ...
Unpacking php7.0-zip (7.0.15-0ubuntu0.16.04.4) ...
Processing triggers for libapache2-mod-php7.0 (7.0.15-0ubuntu0.16.04.4) ...
Processing triggers for php7.0-fpm (7.0.15-0ubuntu0.16.04.4) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of restart.
Setting up libzip4:amd64 (1.0.1-0ubuntu1) ...
Setting up php7.0-zip (7.0.15-0ubuntu0.16.04.4) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline

Creating config file /etc/php/7.0/mods-available/zip.ini with new version
Processing triggers for libc-bin (2.23-0ubuntu7) ...
Processing triggers for libapache2-mod-php7.0 (7.0.15-0ubuntu0.16.04.4) ...
Processing triggers for php7.0-fpm (7.0.15-0ubuntu0.16.04.4) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of restart.
---> fe12c0bd06fd
Removing intermediate container 7cadeb2256d0

Есть пара уведомлений, но ничего не выходит. После нажатия на gcloud и загрузки в локальный проект, запустите phpinfo() после настройки и подключения к изображению получается следующее:

введите описание изображения здесь

На этом изображении нет zip модуль включен. Для справки, еще одна локальная установка PHP, которая имеет zip включен показывает как это:

введите описание изображения здесь

Я попытался установить другую упаковку, выполнив те же действия (php7.0-xsl) и после настройки и подключения xsl модуль отображается как включенный в phpinfo():

введите описание изображения здесь

Кто-нибудь когда-нибудь сталкивался с этим случаем раньше? Я не знаю почему zip не устанавливается, и я в растерянности … Мне нужно zip модуль для excel связанные функции, но я не уверен, что делать дальше. Любые предложения будут ценны.

Если потребуется весь мой Dockerfile, я обновлю.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]