Mastering Swoole PHP: Build High Performance Concurrent System with Async and Coroutines / Осваиваем Swoole PHP: построение высокопроизводительной конкурентной системы с асинхронностью и корутинами: Создайте собственный Dockerfile

Оглавление
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Сборка собственного Dockerfile
Мы можем начать с базового файла Docker php: 7.4.4-cli, вы можете изменить его в зависимости от требуемой версии PHP. Мы также включили несколько полезных команд для отладки и обучения. Вы можете использовать htop для просмотра структуры процесса Swoole.

bubenok 18.02.21 в 03:24

0

FROM php:7.4.2-cli
RUN apt-get update && apt-get install vim -y && \
apt-get install openssl -y && \
apt-get install libssl-dev -y && \
apt-get install wget -y && \
apt-get install git -y && \
apt-get install procps -y && \
apt-get install htop -y
RUN cd /tmp && git clone https://github.com/swoole/swoole-src.git && \
cd swoole-src && \
git checkout v4.5.5 && \
phpize && \
./configure --enable-openssl && \
make && make install
RUN touch /usr/local/etc/php/conf.d/swoole.ini && \
echo 'extension=swoole.so' > /usr/local/etc/php/conf.d/swoole.ini
RUN wget -O /usr/local/bin/dumb-init && \
​​ https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64
RUN chmod +x /usr/local/bin/dumb-init
RUN apt-get autoremove -y && rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/usr/local/bin/dumb-init", "--", "php"]

bubenok 18.02.21 в 03:24

0

Стоит упомянуть, что dumb-init - это минимальная система инициализации для передачи сигналов процессу Swoole, иначе, когда вы нажмете CTRL-C, сервер не будет завершен и остановлен. Вы можете узнать больше о системе инициализации Linux и обработке сигналов.

bubenok 18.02.21 в 03:24

0

Вы можете удалить из боевой конфигурации такие инструменты, как procps и htop. Эти инструменты полезны на этапе отладки приложения Swoole.

bubenok 18.02.21 в 03:26

0
Минутку...