docker 搭建swoole环境
一、下载swoole(自己找个位置放,下面dockerfile里面COPY 这里的路径写对就好了)
wget http://pecl.php.net/get/swoole-4.2.3.tgz
二、构建dockerfile,内容如下
FROM daocloud.io/php:7.2-fpm-alpine LABEL maintainer="weylau@163.com" COPY swoole-4.2.3.tgz /tmp/ WORKDIR /usr/src/swoole # 修改镜像源 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories # 安装依赖,核心扩展,pecl扩展,git,composer,npm工具 RUN apk update && apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ curl-dev \ imagemagick-dev \ libtool \ libxml2-dev \ postgresql-dev \ sqlite-dev \ libmcrypt-dev \ freetype-dev \ libjpeg-turbo-dev \ libpng-dev \ && apk add --no-cache \ curl \ git \ imagemagick \ mysql-client \ postgresql-libs \ nodejs \ nodejs-npm \ # 配置npm中国镜像 && npm config set registry https://registry.npm.taobao.org \ && pecl install imagick \ && pecl install mcrypt-1.0.1 \ && mkdir -p /usr/src/swoole \ && tar -xzf /tmp/swoole-4.2.3.tgz -C /usr/src/swoole --strip-components=1 \ && /usr/local/bin/phpize \ && ./configure \ && make \ && make install \ && docker-php-ext-enable swoole \ && docker-php-ext-enable mcrypt \ && docker-php-ext-enable imagick \ && docker-php-ext-install \ curl \ mbstring \ pdo \ pdo_mysql \ pdo_pgsql \ pdo_sqlite \ pcntl \ tokenizer \ xml \ zip \ && docker-php-ext-install -j"$(getconf _NPROCESSORS_ONLN)" iconv \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j"$(getconf _NPROCESSORS_ONLN)" gd \ && pecl install -o -f redis \ && rm -rf /tmp/pear \ && docker-php-ext-enable redis # 安装composer并允许root用户运行 ENV COMPOSER_ALLOW_SUPERUSER=1 ENV COMPOSER_NO_INTERACTION=1 ENV COMPOSER_HOME=/usr/local/share/composer RUN mkdir -p /usr/local/share/composer \ && curl -o /tmp/composer-setup.php https://getcomposer.org/installer \ && php /tmp/composer-setup.php --no-ansi --install-dir=/usr/local/bin --filename=composer --snapshot \ && rm -f /tmp/composer-setup.* \ # 配置composer中国全量镜像 && composer config -g repo.packagist composer https://packagist.phpcomposer.com # 对其他容器开放9000端口 EXPOSE 9000 WORKDIR /
三、创建镜像
docker build -t php_03 .
四、启动镜像
docker run -p 9000:9000 -p 9501:9501 --name myPhp -v /docker/php/html:/var/www/html/ --privileged=true -d php_03
五、进入容器php -m查看有么有安装成功
*已经上传dockerhub
docker pull xutao15700353368/xutao:php_swoole