Docker: No releases available for package «pecl.php.net/redis»

Сегодня встретилась вот такая ошибка для пакетов загружаемых через PECL. Хоть в сообщении и написано «Нет доступных релизов», но они были на сервере. Ошибка странная и почему она возникла сказать не могу. Все указывает на сетевые проблемы. Если простыми словами, то мой компьютер не мог нормально добраться до компьютера на котором находятся требуемые пакеты. Проблему решить удалось, об этом ниже.

Через PECL в том проекте устанавливались Redis и xDebug. При установке Redis выдавалась такая ошибка:

No releases available for package «pecl.php.net/redis»

А при xDebug соответственно:

No releases available for package «pecl.php.net/xdebug»

Для решения проблемы я вручную через браузер зашел в хранилище пакетов PECL и нашел в нем искомые:

Выбрал самые свежие версии и скачал через cURL для проверки. Загрузились они не с первого раза, да и сайт открывался еле еле, хотя с подключением к интернету проблем нет. После проверки работоспособности ссылок подправил Dockerfile.

Было так:

 
...
 
RUN pecl install -o -f redis \
    &&  rm -rf /tmp/pear \
    &&  docker-php-ext-enable redis
 
...
 
RUN pecl install xdebug \
    && docker-php-ext-enable xdebug
 
...

Стало так:

 
...
 
RUN curl 'https://pecl.php.net/get/redis-5.3.7.tgz' -o redis-5.3.7.tgz \
    && pecl install redis-5.3.7.tgz \
    && rm -rf redis-5.3.7.tgz \
    && rm -rf /tmp/pear \
    && docker-php-ext-enable redis
 
...
 
RUN curl 'https://pecl.php.net/get/xdebug-3.1.6.tgz' -o xdebug-3.1.6.tgz \
    && pecl install xdebug-3.1.6.tgz \
    && rm -rf xdebug-3.1.6.tgz \
    && docker-php-ext-enable xdebug
 
...

После внесенных изменений контейнеры удалось собрать и запустить:

docker-compose up --build

14.11.2022

Категория(-и): Docker

# # #

Добавить комментарий