@dooy
2023-02-27T05:17:03.000000Z
字数 1918
阅读 498
PHP Nginx
参考 php的安装
docker search php
docker pull php:5.6-fpm
拉取php 5.6 fpm版本
docker run --name myphp-fpm -v ~/nginx/www:/www -itd php:5.6-fpm
#当前使用容器 -a曾经使用过的容器docker ps#进入容器docker exec -it 容器名称或者ID /bin/bash#重启容器docker restart 容器名称或者ID#容器配置docker inspect penly-nginx-80 |grep Mounts -A 30 #查找挂载docker inspect penly-nginx-80 |grep IPD -A 30 #查找ID
进入到容器内
#初始化 只需要执行一次docker-php-source extract#执行了上面的命令 在 /usr/src/php/ext/ 目录下就能看到mysql mysqli了##------#安装 mysqldocker-php-ext-install mysqldocker-php-ext-install mysqli#下载 Rediscurl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/refs/tags/5.3.7.tar.gztar xfz /tmp/redis.tar.gzrm -r /tmp/redis.tar.gz#复制扩展到容器中:mv phpredis-5.3.7 /usr/src/php/ext/redis#安装docker-php-ext-install redis#查看是否安装成功php -m|grep redis
进入到容器内
#安装先前插件apt-get install librabbitmq-dev#查找pecl search amqp#安装pecl install amqp#使用docker-php-ext-enable amqp.so#查看是否安装成功php -m|grep amqp
apt-get install -ylibfreetype6-dev \libjpeg62-turbo-dev \libpng-dev \libwebp-dev \zlib1g-devdocker-php-ext-configure gd \--enable-gd \--with-freetype \--with-jpeg \--with-webpdocker-php-ext-install -j$(nproc) gd
B.尽量使用端口 提供服务 。与其他使用服务的时候 用 --link 并网络
--link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。
C.如果提供不了端口服务 需要执行容器内部命令
docker exec -it php5.6fpm php -mdocker exec -it php5.6fpm php -f file.php #容器内部文件 又可以通过挂载目录到宿主目录里面
类似
docker run -itd -v /data/webRoot:/data/webRoot:rw --name php56fpmRedisMQ dooy/php56fpm:redisAMQPdocker run -itd -v /data/webRoot:/data/webRoot:rw --name openresty -p 6080:80 -p 6043:443 openresty/openresty