window10下通过docker安装swoole,运行laravel-swoole服务

最近公司压测一个接口,用laravel框架,业务逻辑就是从缓存中取数据,tps总是上不去,于是决定换下swoole来替换php-fpm,来处理php请求,tps比原来高了好几倍。

现在有个问题就是windows下对swoole支持不是很好,打算利用docker镜像来解决环境问题,php代码可以挂载到镜像指定目录下。下面简单介绍下操作步骤

1 安装docker19.03

      官方下载地址: https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe

      安装完成后需要修改国内镜像,不然下载docker镜像龟速。修改操作

      1.1  右键小鲸鱼图标,选择setting

             

window10下通过docker安装swoole,运行laravel-swoole服务

 

 

        1.2  选择 Docker Engine , 加入 163镜像地址 ,"registry-mirrors": [ "http://hub-mirror.c.163.com"]

        

window10下通过docker安装swoole,运行laravel-swoole服务

2 docker下 安装 ubuntu镜像  [ windows 下 swoole_set_process_name会报错]

    打开powershell,下面命令在上面运行

    下载ubuntu镜像   docker pull ubuntu

    简单启动    docker run -it -d  --name=ls-demo ubuntu /bin/bash

    进入容器   docker attach ls-demo

    docker 一些基本操作介绍(安装中可能要用到的命令)

    复杂点的启动( -i: 交互式操作 -t: 终端  -d 后台启动 --name 命名启动的容器的名称 -p 映射容器端口到本机   -v 挂载本地目录到容器)

    docker run -it -d -p 本机端口:容器端口  --name=容器的名称 -v "本机路径":容器路径  镜像名 镜像中命令

    查看镜像

    docker images

    

window10下通过docker安装swoole,运行laravel-swoole服务

    启动镜像(启动镜像后会新建一个容器,可以使用镜像的hash-id 的部分,或者镜像名称启动)

    docker run 16a 或者 docker run   n_ubuntu

    docker run -it 16a /bin/bash 或者 docker run -it  n_ubuntu  /bin/bash   交互式终端启动

    删除镜像(假如镜像有对应的容器启动中需要先关闭对应容器,再删除镜像)

    docker image rm 16a 或者  docker rmi n_ubuntu

    查看容器名称(-a 显示所有,包括停止的容器)

    docker ps -a

    

window10下通过docker安装swoole,运行laravel-swoole服务

    查询最新创建的容器

    docker ps -l

    启动容器(唯一hash容器id和容器名称等价,下面的所有操作用两者皆可)

    docker start  d1b 或者  docker start  ls-demo

    关闭容器

    docker stop  d1b 或者  docker stop  ls-demo 

    删除容器(start中的容器需要stop之后再删除)

    docker rm  ls-demo 

    进入容器[上图容器](容器名只要唯一就行, 可以打部分字符串)

    docker attach  ls-demo 

    提交容器为本地镜像

    docker  commit  ls-demo  新镜像名字

3  ubuntu镜像中安装php环境

    修改源

     cp /etc/apt/sources.list /etc/apt/sources.list.bak &&
     echo '' > /etc/apt/sources.list &&
     echo '
     deb focal main restricted universe multiverse
     deb-src focal main restricted universe multiverse

     deb focal-security main restricted universe multiverse
     deb-src focal-security main restricted universe multiverse

     deb focal-updates main restricted universe multiverse
     deb-src focal-updates main restricted universe multiverse

     deb focal-proposed main restricted universe multiverse
     deb-src focal-proposed main restricted universe multiverse

     deb focal-backports main restricted universe multiverse
     deb-src focal-backports main restricted universe multiverse
     ' > /etc/apt/sources.list

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjywd.html