centos7虚拟机使用docker搭建swoole环境

因为用的是window电脑,安装swoole比较麻烦,所以装了虚拟机centos7,使用docker把swoole环
境跑起来。

1.安装docker

这里就不赘述了,已经有很多教程了

2.找一个docker镜像

我这利用的是cmptech/auto_cmp_php_docker_server

3.安装镜像

  • 我是root登录的,家目录是/root,在这里新建文件swoole_server.php,代码就是swoole官网的例子

    <?php
        $http = new swoole_http_server("0.0.0.0", 9501);
        
        $http->on("start", function ($server) {
            echo "Swoole http server is started at http://127.0.0.1:9501\n";
        });
        
        $http->on("request", function ($request, $response) {
            $response->header("Content-Type", "text/plain");
            $response->end("Hello World\n".json_encode(['hello'=>'nihao'.time()]));
        });
        
        $http->start();
  • 运行命令

    docker run  -ti -p 9501:9501 -v `pwd`:/root/ -d cmptech/auto_cmp_php_docker_server

    然后运行 docker ps ,查看是否运行成功,我这里是一直失败,提示

    [root@localhost ~]# docker run  -ti -p 9501:9501 -v `pwd`:/root/ -d cmptech/auto_cmp_php_docker_server
    /usr/bin/docker-current: Error response from daemon: No command specified.
    See '/usr/bin/docker-current run --help'.
    

    在网上搜了下,发现要在命令后面加上 /bin/bash

    [root@localhost ~]# docker run  -ti -p 9501:9501 -v `pwd`:/root/ -d cmptech/auto_cmp_php_docker_server /bin/bash
    133406c3e1370d33cccb365d0a2b8978d872f8271b24f14dc1d7fab626fe7867
    

    这样就成功了,容器已经跑起来了

  • 进入容器,运行命令docker attach ID,这个ID就是容器的ID,可以用命令docker ps查看容器ID

    [root@localhost ~]# docker ps
    CONTAINER ID        IMAGE                                COMMAND             CREATED             STATUS              PORTS                    NAMES
    133406c3e137        cmptech/auto_cmp_php_docker_server   "/bin/bash"         2 minutes ago       Up 2 minutes        0.0.0.0:9501->9501/tcp   agitated_meitner
    
    [root@localhost ~]# docker attach 133
    bash-4.3# 

    这样就已经进入容器了

  • 运行 php7 /root/swoole_server.php
    如果提示没有权限,执行setenforce 0 临时关闭selinux

    bash-4.3# php7 /root/test_swoole.php
    Swoole http server is started at http://127.0.0.1:9501

    在另一个窗口执行命令curl http://127.0.0.1:9501,会看到返回hello world,swoole安装成功了

    原文作者:selfup
    原文地址: https://segmentfault.com/a/1190000015331909
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞