# webman-docker **Repository Path**: AbelZou/webman-docker ## Basic Information - **Project Name**: webman-docker - **Description**: 适用webman框架的docker镜像 - **Primary Language**: Docker - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-26 - **Last Updated**: 2024-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Webman Docker ## 1、构建镜像 构建自己的镜像,首先是为了满足项目需求。一些官方镜像不包含的扩展可以自己添加进去。其次,在开发调试阶段就用自己的镜像,若是PHP环境有问题,可以及时发现并加以完善。第三,在自己的镜像基础上,把开发好的应用再次构建成生产环境镜像。用生产镜像去部署生产服务器就十分方便啦! 在php目录下运行下面的构建命令 ```sh cd php docker build -t ziyo-php:8.1.28-cli-alpine . ``` 因为PHP官方的Docker镜像包含的扩展无法满足我们项目的需求,所以要根据项目进行php环境的配置。 php/Dockerfile为本项目集成了包管理工具composer和以下扩展: - event - bcmath - mysqli - pdo_mysql - fileinfo - pcntl - redis - memcached - mongodb ## 2、Docker开发容器 应用开发阶段可以用下面的命令启动一个容器,进行开发调试 ```sh docker run -itd --name ziyo-webman -p 8787:8787 -e TZ="Asia/Shanghai" -v ./src:/www ziyo-php:8.1.28-cli-alpine ``` ### 启动您的应用 打开一个终端 ```sh docker exec -it ziyo-webman /bin/sh ``` 安装Webman(需要手动安装一下。当然也可以直接把现有的webman项目,复制到src目录里) ```sh cd /www composer create-project workerman/webman . ``` 启动Webman ```sh cd /www php start.php start ``` 访问您的应用: `http://localhost:8787` ## 3、构建生产镜像 基于项目根目录下的Dockerfile构建出生产环境的镜像 ```sh docker build -t ziyo-webman-production . ``` ## 生产镜像的使用说明 ```sh docker run -itd --restart=always --name ziyo-webman -p 8080:8787 ziyo-webman-production ``` `--restart=always` 重启策略很重要。当webman进程异常退出会导致容器的运行的中止,这时重启策略起作用,就可以自动重启容器并运行PHP服务。 ## 相关链接 - [Webman开发手册](https://www.workerman.net/doc/webman/) - [PHP扩展下载](https://pecl.php.net/) - [PHP Docker Official Image](https://hub.docker.com/_/php)