@LakeForest

Как настроить Dockerfile для запуска проекта Commet PHP с MongoDB?

Необходимо запустить этот проект: https://github.com/gotzmann/comet
Пробовал запустить с dockerfile из репозитория фреймворка, но почему-то вчера запустил - сегодня очистил кеш, запускаю - не работает.
Стал ошибки выводить про mbstring...
FROM php:7.4-cli
RUN apt-get update && apt-get install -y pkg-config libssl-dev libevent-dev
RUN pecl install event \
    && docker-php-ext-enable event
RUN docker-php-ext-install sockets \
    && pecl install mongodb-1.2.2 \
    && docker-php-ext-enable mongodb
RUN composer update
COPY ./client_shop/backend /var/www/
WORKDIR /var/www
CMD php ./src/app.php start


Ошибка:
checking for /usr/local/include/php/ext/sockets/php_sockets.h... no
configure: error: Couldn't find /usr/local/include/php/sockets/php_sockets.h. Please check if sockets extension installed
ERROR: `/tmp/pear/temp/event/configure --with-php-config=/usr/local/bin/php-config --enable-event-debug=no --enable-event-sockets=yes --with-event-libevent-dir=/usr --with-event-pthreads=no --with-event-extra --with-event-openssl --with-event-ns=no --with-openssl-dir=no' failed
ERROR: Service 'shop' failed to build: The command '/bin/sh -c pecl install event     && docker-php-ext-enable event' returned a non-zero code: 1
  • Вопрос задан
  • 306 просмотров
Решения вопроса 1
@LakeForest Автор вопроса
FROM php:7.4-cli
RUN docker-php-ext-install sockets && apt-get update \
    && apt-get install -y libevent-dev libcurl4-openssl-dev pkg-config libssl-dev libonig-dev \
    && pecl install event mongodb \
    && docker-php-ext-enable event mongodb \
    && docker-php-ext-install mbstring pcntl
COPY ./client_shop/backend /var/www/
WORKDIR /var/www
CMD php ./src/app.php start
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
Оригинальный докерфайл имеет немного другой вид.
Как минимум вот это
FROM ubuntu:20.04
В используемом вами FROM php:7.4-cli очевидно чего-то не хватает, что есть у автора в стандартной убунте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы