Win10下Docker容器开发调试EasySwoole

2020-04-10 18:08:09 浏览数 (1)

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测试版,不建议开发使用测试版)
代码语言:javascript复制
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了

0 人点赞