Не удается загрузить модули php внутри контейнера докеров

Я не могу загрузить какие-либо расширения php внутри моего контейнера докеров, при попытке yum install php7.3-mysql выдает ошибку

«Пакет php7.3-zip недоступен».

А при попытке с docker-php-ext-install мне выдает

«bash: docker-php-ext-install: команда не найдена»

Контейнер докера был создан из официального образа Centos, просто вытащил его и успешно установил php7.3, но не расширения.


person t2149573    schedule 08.09.2019    source источник
comment
Вам необходимо предоставить минимальный воспроизводимый пример, без него ваш вопрос не по теме. Как новый пользователь, также пройдите тур и прочитайте Как спросить.   -  person Ulrich Eckhardt    schedule 08.09.2019
comment
Я отредактировал вопрос, теперь должно быть легко воспроизвести   -  person t2149573    schedule 08.09.2019
comment
Вы можете предоставить точный рецепт воспроизведения, используя файл докеров. На данный момент она все еще требует интерпретации.   -  person Ulrich Eckhardt    schedule 08.09.2019
comment
Не могли бы вы предоставить свой Dockerfile? Без него мы не сможем переиграть сценарий.   -  person Alejandro Visiedo García    schedule 09.09.2019
comment
Я не использовал никаких файлов докеров, я вытащил образ, создал контейнер с командой запуска, прикрепил к нему, запустил yum update, затем yum install epel-release, затем yum install php7.3, все успешно, затем попытался установить php7.3-mysql двумя разными способами, как указано выше, не работает. Это буквально так, клянусь   -  person t2149573    schedule 12.09.2019


Ответы (2)


Воспроизвел вашу проблему, выполнив следующие действия:

docker run --rm -it centos:7 /bin/bash
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
yum install -y epel-release
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y php7.3-mysql

И за последнюю операцию я получил:

Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                                                                                                                   
|  27 kB  00:00:00     
 * base: distrib-coffee.ipsl.jussieu.fr
 * epel: mirror.infonline.de
 * extras: mirror.plusserver.com
 * remi-safe: remi.mirrors.cu.be
 * updates: distrib-coffee.ipsl.jussieu.fr
epel                                                                                                                                                                                                                   
| 5.4 kB  00:00:00     
remi-safe                                                                                                                                                                                                              
| 3.0 kB  00:00:00     
(1/4): epel/x86_64/group_gz                                                                                                                                                                                            
|  90 kB  00:00:00     
(2/4): epel/x86_64/updateinfo                                                                                                                                                                                          
| 1.0 MB  00:00:00     
(3/4): epel/x86_64/primary_db                                                                                                                                                                                          
| 6.9 MB  00:00:06     
(4/4): remi-safe/primary_db                                                                                                                                                                                            
| 1.6 MB  00:00:06     
No package php7.3-mysql available.
Error: Nothing to do

Указанное вами имя пакета не существует, однако существует php73-php-mysqlnd, что очень похоже на то, что вы пытаетесь получить.

yum search php73-php-mysqlnd
php73-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL

Попробуйте с этим:

yum install -y php73-php-mysqlnd
person Alejandro Visiedo García    schedule 10.11.2019
comment
Мне пришлось использовать официальный образ php, основанный на Debian, но я попробовал это сейчас на образе centos, и он действительно работал отлично. Спасибо - person t2149573; 11.11.2019
comment
Просто следуйте инструкциям мастера... rpms.remirepo.net/wizard - person Remi Collet; 11.11.2019

В CentOS 7.6 вы должны сначала включить Epel-Repository, чтобы получить версию.

yum install epel-release

Затем вы можете установить Remi-Repository, чтобы получить последнюю версию PHP.

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php73

Затем вы можете установить последнюю версию PHP с помощью:

yum install php

В CentOS обычно есть более старые версии, и вы должны сначала установить их.

person René Höhle    schedule 08.09.2019
comment
Да, я уже сделал это, у меня есть php7.3 внутри контейнера, но я не могу настроить php-модули. - person t2149573; 08.09.2019