Docker compose 部署 nginx+php

  • Docker compose 部署 nginx+php已关闭评论
  • 152 次浏览
  • A+
所属分类:linux技术
摘要

在home目录下创建docker-nginx配置内容参见:https://blog.csdn.net/qq_43534481/article/details/124916254?spm=1001.2014.3001.5501


Docker compose 部署 nginx+php

拉取Docker镜像

docker pull nginx:1.21.6 docker pull php:7.4.28-fpm 

创建docker-compose 目录

在home目录下创建docker-nginx

mkdir /home/docker-nginx  #创建目录 cd /home/docker-nginx     #进入目录 

拷贝配置文件到宿主机

#拷贝 nginx的配置文

docker run -d --name nginx nginx docker cp nginxtest:/etc/nginx ./ docker cp nginxtest:/var/log ./ docker rm -f nginx 

拷贝 php的配置文件

docker run -d --name php php:7.4.28-fpm docker cp phptest:/usr/local/etc/php ./ docker rm -f php 

更改配置文件

配置内容参见:https://blog.csdn.net/qq_43534481/article/details/124916254?spm=1001.2014.3001.5501

配置php.ini

cd /home/docker-nginx/php #进入php目录 mv php.ini-development php.ini  #重命名php.ini-development为php.ini sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" php.ini #替换字符串;cgi.fix_pathinfo=1 为 cgi.fix_pathinfo=0 

配置default.conf

cd /home/docker-nginx/nginx/conf.d  #进入目录 在default.conf的server块底部添加如下代码     location ~ .php$ {         root           html;         fastcgi_pass   php:9000;         fastcgi_index  index.php;         fastcgi_param  SCRIPT_FILENAME  /home/www$fastcgi_script_name;         include        fastcgi_params;     } 

示例如下注意缩进

Docker compose 部署 nginx+php

创建web根目录

mkdir /home/docker-nginx/www  #创建目录 echo  '<script>alert('installation complete')</script>' > index.html  #创建index.html文件并写入内容 echo  '<?php phpinfo();?>' > index.php				      #创建index.php文件并写入内容 

编写yaml文件

在 /home/docker-nginx目录下创建一个docker-compose.yaml 文件

touch /home/docker-nginx/docker-compose.yaml  #创建文件 

将以下内容写入docker-compose.yaml

version: "3" services:     nginx:         image: nginx:1.21.6         container_name: "vps-nginx"         restart: always         ports:             - "80:80"             - "443:443"         depends_on:            - "php"         volumes:            - "/home/docker-nginx/nginx:/etc/nginx"            - "/home/docker-nginx/log:/var/log"            - "/home/docker-nginx/www:/home/www"         networks:            - net-app     php:         image: php:7.4.28-fpm         container_name: "vps-php"         restart: always         ports:             - "9000:9000"         volumes:             - "/home/docker-nginx/www:/home/www"             - "/home/docker-nginx/php:/usr/local/etc/php"         networks:            - net-app networks:     net-app:  

环境上线

docker-compose up -d 

验证结果

访问host首页弹窗访问host/index.php显示phpinfo界面即为成功

Docker compose 部署 nginx+php

Docker compose 部署 nginx+php