1、docker安装
docker pull php:8.1-fpm
拉取PHP镜像
sudo yum update
更新yum源
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
安装utils等
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
官网地址:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
阿里云地址:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2、镜像拉取安装
docker pull nginx
拉取nginx镜像 不加版本号默认拉取最新
docker pull php
拉取PHP镜像 不加版本号默认拉取最新
docker pull mysql
拉取mysql镜像 不加版本号默认拉取最新
docker pull redis
拉取mysql镜像 不加版本号默认拉取最新
docker pull swoole
拉取mysql镜像 不加版本号默认拉取最新
3、创建PHP容器,创建nginx容器并指向PHP容器
docker run --name php81-fpm -v D:/docker/www:/usr/share/nginx/html/www -d php:8.1-fpm
创建PHP容器,这里记得看一下自己镜像的版本 --name后接的是要起的容器名
docker run --name nginx_web -p 8085:80 -d -v D:/docker/www:/usr/share/nginx/html/www:ro -v D:/docker/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link php81-fpm:php nginx
运行nginx 指定容器端口 -d 后台运行(守护进程) –name nginx_web:将容器命名为nginx_web -v 将主机中当前指定目录 挂载到docker容器的对应目录 --link指向或者说链接 容器php81-fpm(注意这里用容器名)
docker ps -a 查看容器启用情况
4、安装PHP扩展
docker exec -it php81-fpm /bin/bash
进入容器实例
docker exec -it
容器名 /bin/bash 进入容器 linux是/bash win是/bin/bash
1)docker-php-ext-install mysql
安装mysql扩展
2)docker-php-ext-install mysqli
安装mysqli扩展
3)
pecl install lzf
pecl install zstd
pecl install igbinary
apt-get install -y cmake
pecl install redis
apt-get install -y \
libcurl4-openssl-dev \
libssl-dev \
supervisor \
unzip \
zlib1g-dev \
--no-install-recommend
s 安装基础包 避免swoole、redis 安装报错
4)pecl install swoole
安装swoole扩展
5)安装redis扩展
docker-php-ext-install redis
一条命令搞定,若不成功采用以下步骤
cd 到根目录
mkdir /tmp
创建一个下载文件存放文件夹
curl -L -o /tmp/redis.tar.gz https://codeload.github.com/phpredis/phpredis/tar.gz/5.3.7
写这个笔记的时候目前最新5.3.7
cd /tmp
然后
tar -zxvf redis.tar.gz
进入tmp文件夹 解压下载的文件
mv phpredis-5.0.2 /usr/src/php/ext/
将文件迁移到php扩展文件夹下 若ext文件夹没有则自己创建一下
cd /usr/src/php/ext/phpredis-5.0.2
进入该文件夹
whereis phpize
查询phpize文件位置一会要用路径进行执行
whereis php-config
查询php-config文件位置一会要用路径进行执行
/usr/local/bin/phpize
执行这个文件路径,会生成一些东西(根据自己服务器实际情况变更路径,请勿死脑筋copy)
./configure --with-php-config=/usr/local/bin//php-config
执行该命令(根据自己服务器实际情况变更路径,请勿死脑筋copy)
make && make install
进行创建并安装
在php.ini里增加extension=redis.so 后重启PHP
5、安装redis
docker pull redis
拉取redis镜像
docker run -p 6379:6379 --name redisOne -v D:/docker/redis/data:/data -v D:/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
创建一个redis容器并指定现实文件夹(自行创建注意文件夹位置规范) 关联docker文件夹
docker exec -it 容器名 /bin/bash
进入redis容器
cat /etc/hosts
获取当前redis IP
在PHP根目录创建文件
$redis = new Redis();
$redis->connect('172.17.0.4', 6379);
$count = $redis->exists('count') ? $redis->get('count') : 1;
echo $count;
echo $redis->get("guanliyang");
执行返回 秒数则执行成功
至此docker nginx+php+mysql+redis+swoole初步配置完成