使用Docker搭建Swoole环境

1 篇文章 0 订阅

前言

swoole是有提供docker 镜像的
但是我喜欢自己尝试一下

Dockerfile编写

这里构建在php的cli镜像之上
使用 install-php-extensions 给php安装了redis gd swoole扩展
install-php-extensions 是我从github上先下载到本地的,因为使用ADD下载报错了
install-php-extensions 和 Dockerfile放在同一目录
设置容器工作目录为 /var/www/html/swoole

FROM php:7.4-cli
# 这个是因为ADD从github下载出错,我才通过 wget install-php-extensions 下载下来后,再拷贝到容器内
# 如果ADD github 没有问题
# 可以换成 ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
COPY install-php-extensions /usr/local/bin
RUN chmod +x /usr/local/bin/install-php-extensions && \
    install-php-extensions gd redis swoole
WORKDIR /var/www/html/swoole

构建镜像

根据当前目录下的Dockerfile构建镜像 镜像标签为xrx/swoole
在Dockerfile下执行下面语句

docker build -t xrx/swoole .
测试文件

我将测试文件起名为index.php
将其放在 /var/www/html/swoole 目录

$service = new Swoole\Http\Server('0.0.0.0',9501);    
$service->on('Request', function ($request, $response) { 
$response->header('Content-Type', 'text/html; charset=utf-8');        
$response->end('<h1>Hello Swoole. #' . rand(1000, 9999) . '</h1>');    
});
$service->start();
使用swoole启动测试文件

通过-v将本地代码目录与容器工作目录绑定
通过php index.php 启动工作目录中的index.php 文件
创建了端口号为9501的http服务
通过 -p 将本地9501端口与容器9501端口映射
这样外部即可通过9501访问http服务

docker run -v /var/www/html/swoole:/var/www/html/swoole -p 9501:9501 xrx/swoole php index.php

```
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值