Win10下Docker容器开发调试EasySwoole

Win10下Docker开发easyswoole

  • 众所周知swoole不能在win环境下开发,所以会阻挡一部分用户使用swoole,但也不是不能在win下开发,无非是需要借助工具开发而已(虚拟机、docker、以及win10子系统)

Docker是什么?

  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

Win10下的坑

  • 最大的坑是需要win10企业版、教育版或专业版才可以才可以开启hyper-v虚拟化技术(自行百度开启)

easyswoole安装(前提是已安装好docker)

  • easyswoole官网有两种安装方式,一种是docker镜像拉取(php7.1.30+swoole4.4.12+easyswoole3.x-dev),另一种是dockerFile,可以自定义版本需求(本次使用方式)

  • 构建DockerFile(swoole最新稳定版本+easyswoole3.x测试版,不建议开发使用测试版)

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
  • 找到DockerFile的所在目录,执行 docker build -t easyswoole .

  • 等待构建dockerFile完成

  • 查看镜像 docker images

  • 运行镜像并映射端口 docker run -ti -p 9501:9501

  • 并执行 php easyswoole start 启动easyswoole框架

  • 然后在宿主机访问 127.0.0.1:9501 即可看到easyswoole运行成功

平常容器关闭后,如何启动easyswoole容器

  • 执行命令 docker ps -a 查看所有容器

  • 执行命令 docker rename suspicious_jang easyswoole 重命名容器名称(方便自己维护)

  • 再次执行命令 docker ps -a 查看所有容器,发现容器名称已经变更

  • 然后使用命令来管理容器 docker start/stop/restart easyswoole

  • 进入容器 docker exec -ti easyswoole /bin/bash 然后执行即可看到效果

docker容器目录挂载本地

  • 执行命令 docker run -v D:/www/test:/easyswoole -ti -p 9501:9501 easyswoole 挂载成功并进入目录

  • 然后在容器内删除或者宿主机内删除目录里面的文件,会发现同步删除,此时目录共享完毕,即可在Windows下开发EasySwoole了

北溟有鱼QAQ博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论