树莓派docker制作swoole镜像运行hyperf
作者:langdi 来源:ytt 发布时间:2022-03-25 18:24:26
phpswoole/swoole:4.8.8-php7.4-alpine默认没有安装redis扩展 所以按以下方式安装
使用swoole官方基础镜像启动容器
docker run --name swoole \ -v /ssd/docker:/var/www \ -p 9501:9501 -it \ --privileged -u root \ --entrypoint /bin/sh \ phpswoole/swoole:4.8.8-php7.4-alpine
修改apk源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories apk update #更新最新本地镜像源 apk upgrade #升级软件
安装相关依赖 否则无法使用pecl安装php扩展
apk add gcc g++ make libffi-dev apk add --no-cache -U autoconf
安装redis扩展
pecl install redis #安装提示时全默认回车
安装pcntl
docker-php-ext-install pcntl
安装pdo_mysql
docker-php-ext-install pdo_mysql
写入php.ini
cd /usr/local/etc/php cp php.ini-production php.ini echo "extension=redis.so" >> php.ini echo "swoole.use_shortname='Off'" >> php.ini
查看安装的扩展
php -m
删除安装时生成的残余 否则生成新镜像时文件太大
apk del gcc g++ make libffi-dev apk del autoconf rm -rf /var/cache/apk/* rm -rf /root/.cache rm -rf /tmp/*
制作新镜像
docker commit swoole arm64-php7.4-swoole-redis:1.0.0
保存镜像到宿主机根目录
docker save -o /arm64-php7.4-swoole-redis.tar arm64-php7.4-swoole-redis:1.0.0
使用新构建的镜像启动容器
docker run -it --name ytt \ -v /ssd/docker:/var/www \ -p 9501:9501 -it \ --privileged -u root \ --entrypoint /bin/sh \ arm64-php7.4-swoole-redis:1.0.0