Metrics
0
Watch 101 Star 404 Fork 96

GVPswoft / swoftPHPApache-2.0

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。 spread retract

https://www.swoft.org/

Clone or download
Dockerfile 2.88 KB
Copy Edit Web IDE Raw Blame History
Inhere authored 2019-08-07 13:31 . fix: tool name is error
# @description php image base on the debian 9.x
#
# Some Information
# ------------------------------------------------------------------------------------
# @link https://hub.docker.com/_/debian/ alpine image
# @link https://hub.docker.com/_/php/ php image
# @link https://github.com/docker-library/php php dockerfiles
# @see https://github.com/docker-library/php/tree/master/7.2/stretch/cli/Dockerfile
# ------------------------------------------------------------------------------------
# @build-example docker build . -f Dockerfile -t swoft/swoft
#
FROM php:7.2
LABEL maintainer="inhere <in.798@qq.com>" version="2.0"
# --build-arg timezone=Asia/Shanghai
ARG timezone
# app env: prod pre test dev
ARG app_env=prod
# default use www-data user
ARG work_user=www-data
ENV APP_ENV=${app_env:-"prod"} \
TIMEZONE=${timezone:-"Asia/Shanghai"} \
PHPREDIS_VERSION=4.3.0 \
SWOOLE_VERSION=4.4.3 \
COMPOSER_ALLOW_SUPERUSER=1
# Libs -y --no-install-recommends
RUN apt-get update \
&& apt-get install -y \
curl wget git zip unzip less vim procps lsof tcpdump htop openssl \
libz-dev \
libssl-dev \
libnghttp2-dev \
libpcre3-dev \
libjpeg-dev \
libpng-dev \
libfreetype6-dev \
# Install PHP extensions
&& docker-php-ext-install \
bcmath gd pdo_mysql mbstring sockets zip sysvmsg sysvsem sysvshm
# Install composer
Run curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer \
&& composer self-update --clean-backups \
# Install redis extension
&& wget http://pecl.php.net/get/redis-${PHPREDIS_VERSION}.tgz -O /tmp/redis.tar.tgz \
&& pecl install /tmp/redis.tar.tgz \
&& rm -rf /tmp/redis.tar.tgz \
&& docker-php-ext-enable redis \
# Install swoole extension
&& wget https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz -O swoole.tar.gz \
&& mkdir -p swoole \
&& tar -xf swoole.tar.gz -C swoole --strip-components=1 \
&& rm swoole.tar.gz \
&& ( \
cd swoole \
&& phpize \
&& ./configure --enable-mysqlnd --enable-sockets --enable-openssl --enable-http2 \
&& make -j$(nproc) \
&& make install \
) \
&& rm -r swoole \
&& docker-php-ext-enable swoole \
# Clear dev deps
&& apt-get clean \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
# Timezone
&& cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone \
&& echo "[Date]\ndate.timezone=${TIMEZONE}" > /usr/local/etc/php/conf.d/timezone.ini
# Install composer deps
ADD . /var/www/swoft
RUN cd /var/www/swoft \
&& composer install \
&& composer clearcache
WORKDIR /var/www/swoft
EXPOSE 18306 18307 18308
# ENTRYPOINT ["php", "/var/www/swoft/bin/swoft", "http:start"]
CMD ["php", "/var/www/swoft/bin/swoft", "http:start"]

Comment ( 0 )

You need to Sign in for post a comment

PHP
1
https://gitee.com/swoft/swoft.git
git@gitee.com:swoft/swoft.git

Help Search