欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用docker搭建php7和nginx运行环境的全过程

程序员文章站 2022-03-03 23:06:19
...

由于以前是使用docker image进入到容器使用yum安装nginx或php,发现整个image较大快2G。大文件会影响环境移值,也没有什么技术含量。 今天在网上找了一下分环境安装,将nginx和php分开2个images.下面是我安装的流程 环境介绍:

  • 主机根目录: /home/docker
  • 主机网站根目录:/home/docker/www
  • 主机nginx相关目录:/home/docker/nginx/conf.d

准备工作 1、使用docker加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://68abbefd.m.daocloud.ioservice docker restart

2、下载相关镜像

docker pull nginx
docker pull php:7.1.0-fpm

还有有点慢,慢慢等。

3、建立相关目录

mkdir -p  /home/docker/www
mkdir -p /home/docker/nginx/conf.d

4、编辑default.conf

vim /docker/nginx/conf.d/default.conf # 以下为示例内容
server {  
listen  80 default_server;  
server_name _;
  root   /usr/share/nginx/html; 
  location / {   index index.html index.htm index.php;   
  autoindex off; 
  }  
	  location ~ \.php(.*)$ {  
	  root   /var/www/html/;   
	  fastcgi_pass 172.17.0.2:9000;   
	  fastcgi_index index.php;   
	  fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;   
	  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   
	  fastcgi_param PATH_INFO $fastcgi_path_info;   
	  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;   
	  include  fastcgi_params; 
  }
 }

###搭建环境 1、启动php镜像

docker run -p 9000:9000 --name myphp \-v  /home/docker/www/:/var/www/html/  --privileged=true  -d php:7.1.0-fpm  #php7.1启用

2、启动nginx镜像

docker run -p 80:80 --name mynginx \-v /docker/www:/usr/share/nginx/html \-v /docker/nginx/conf.d:/etc/nginx/conf.d \--privileged=true \-d nginx  

3、查看镜像运行状态

docker ps-a

4、生成php测试文件info.php

在/home/docker/www/info.php

<?php phpinfo();" >

========附本人调试历史命令===========

1,docker run -it -p 8081:80 --name my_nginx -v /home/docker/nginx_conf:/etc/nginx/conf.d -v /home/docker/www:/usr/share/nginx/html --privileged=true   #运行nginx状态,可以使用-d

2,docker exec -it [my_nginx容器ID]   #进入查看nginx状态

3,docker run -p 9000:9000 --name myphp -v /home/docker/www/:/var/www/html/ --privileged=true -d php:7.1.0-fpm    #运行php

 curl http://121.12.*.*:8081  #成功
 docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp
 vi /home/docker/nginx_conf/default.conf [详见主机文件]


 docker ps

4,http://121.12.*.*:8081/phpinfo.php

5,查看 docker logs -f <容器名orID> #可以查看nginx访问日志

转载于:https://my.oschina.net/7795442/blog/1627574