现在位置: 首页 / 安装部署系列 / docker / 正文 docker部署php7.4 andy 安装部署系列 2023-03-11 489热度 0评论 拉取镜像 docker pull php:7.4-fpm 创建本地挂载目录 mkdir -p /andy/docker/php/php7.4 生成配置文件 #先启动一个php容器,检查里面的php配置 docker run -it -d --name php7.4 -p 5000:9000 php:7.4-fpm #进入容器 docker exec -it php7.4 /bin/bash #查看配置文件位置 #退出容器 #复制配置文件到本地挂载路径 docker cp php7.4:/usr/local/etc/php-fpm.d/www.conf /andy/docker/php/php7.4 docker cp php7.4:/usr/local/etc/php-fpm.d/www.conf.default /andy/docker/php/php7.4 docker cp php7.4:/usr/local/etc/php-fpm.d/zz-docker.conf /andy/docker/php/php7.4 docker cp php7.4:/usr/local/etc/php-fpm.d/docker.conf /andy/docker/php/php7.4 docker cp php7.4:/usr/local/etc/php /andy/docker/php/php7.4/ini 修改默认端口号为9001 #分别修改www.conf www.conf.default zz-docker.conf三个文件 将127.0.0.1:9000修改为127.0.0.1:9001 将9000修改为9001 停止并删除刚刚的容器 #停止容器 docker stop php7.4 #删除容器 docker rm php7.4 重新启动容器 #默认网络模式 docker run -d \ -v /etc/localtime:/etc/localtime \ -v /andy/docker/volume/php/php7.4:/usr/local/etc/php-fpm.d \ -v /andy/docker/volume/nginx/www:/var/www/html \ -v /andy/docker/volume/php/php7.4/ini:/usr/local/etc/php \ -p 9001:9001 --name php7.4 --privileged=true php:7.4-fpm #使用宿主机网络 docker run -d --restart=always --network=host \ -v /etc/localtime:/etc/localtime \ -v /andy/data1/storage/php/php7.4:/usr/local/etc/php-fpm.d \ -v /andy/data1/storage/php/php7.4/ini:/usr/local/etc/php \ -v /andy/data1/storage/nginx/www:/var/www/html \ --name php7.4 --privileged=true php:7.4-fpm 进入容器安装mysqli及其他扩展 (否则php没法连接mysql,mysql_connect函数已弃用) #进入容器 docker exec -it php7.4 /bin/bash #安装pdo_mysql扩展 docker-php-ext-install pdo pdo_mysql #安装mysqli docker-php-ext-install mysqli #重启容器 docker restart php7.4 退出容器,配置nginx支持php #修改default.conf,使其支持php解析 vi /andy/docker/nginx/conf/conf.d/default.conf #将"#"去掉,修改fastcgi_pass的ip,fastcgi_param的路径 location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } #重启nginx docker restart nginx 测试php #编写测试文件index.php vi /andy/docker/volume/nginx/www/index.php #文件内容如下 <?php phpinfo(); ?> #重启nginx docker restart nginx #浏览器访问测试 http://ip/index.php