FROM centos:7
#version defined
ENV SWOOLE_VERSION 4.4.17
ENV EASYSWOOLE_VERSION 3.3.4
#install libs
RUN yum install -y curl zip unzip wget openssl-devel gcc-c++ make autoconf
#install php
RUN yum install -y epel-release
RUN rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
RUN yum clean all
RUN yum update -y
RUN yum install -y php71w-devel php71w-openssl php71w-mbstring
# composer
RUN curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/bin/composer
# use aliyun composer
RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# swoole ext
RUN 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-openssl \
&& make \
&& make install \
) \
&& sed -i "2i extension=swoole.so" /etc/php.ini \
&& rm -r swoole
# Dir
WORKDIR /easyswoole
# install easyswoole
RUN cd /easyswoole \
&& composer require easyswoole/easyswoole=${EASYSWOOLE_VERSION} \
&& php vendor/bin/easyswoole install
EXPOSE 9501
docker build -t easyswoole .
docker images
docker run -ti -p 9501:9501
php easyswoole start
启动easyswoole框架
127.0.0.1:9501
即可看到easyswoole运行成功docker ps -a
查看所有容器
docker rename suspicious_jang easyswoole
重命名容器名称(方便自己维护)
docker ps -a
查看所有容器,发现容器名称已经变更
docker start/stop/restart easyswoole
docker exec -ti easyswoole /bin/bash
然后执行即可看到效果
docker run -v D:/www/test:/easyswoole -ti -p 9501:9501 easyswoole
挂载成功并进入目录