Docker Contos 搭建 PHP 环境

Docker Contos 搭建 PHP 环境

  1. uname -r //CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker
    • yum -y install docker-io //安装docker
    • service d ocker start //启动
  2. 镜像加速 网易镜像地址

    • vi /etc/docker/daemon.json //添加镜像

    { "registry-mirrors": ["http://hub-mirror.c.163.com"] }

  3. 安装 Nginx
  • docker pull nginx //拉取官方镜像
  • docker images //查看
  • docker run -p 80:80 -d --name mynginx -v /docker/www:/usr/share/nginx/www nginx //开启nginx应用容器

-p 80:80:将容器的80端口映射到主机的80端口 -d 后台运行(守护进程) --name mynginx:将容器命名为mynginx -v 将主机中当前目录下的www挂载到容器的www目录

  • docker ps -a //查看容器启动情况
    1. Docker 安装 PHP
  • docker pull php:7.2-fpm //拉取官方PHP镜像
  • docker images //查看
  • docker run -p 9000:9000 -d --name myphp-fpm -v /docker/www:/usr/share/nginx/www php:7.1-fpm //开启php-frm应用容器
  • docker ps -a //查看容器启动情况
  • docker inspect myphp-fpm | grep "IPAddress" //查看ip信息
    "SecondaryIPAddresses": null,
    "IPAddress": "172.17.0.3",
    "IPAddress": "172.17.0.3",
    [root@localhost ~]# docker exec -it mynginx bash //进入容器
    vi /etc/nginx/conf.d/default.conf //修改配置文件
    然后使用ctrl + p + q退出容器,使用exit的话会让容器停止。
  • docker cp mynginx:/etc/nginx/conf.d/default.conf ./default.conf
    在宿主机修改配置文件的php部分,内容如下:

    server {
    listen       80;
    server_name  localhost;
    
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    
    location / {
        root   /usr/share/nginx/html;
        index index.php index.html index.htm;
    }
    
    #error_page  404              /404.html;
    
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           html;
        fastcgi_pass   172.17.0.3:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME /usr/share/nginx/www$fastcgi_script_name;
        include        fastcgi_params;
    }
    
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
    }
  • docker cp ./default.conf mynginx:/etc/nginx/conf.d/default.conf
  • docker exec -it mynginx bash //进入容器中
  • root@3218b3ad4e47:/# service nginx reload //重新载入nginx配置文件
  • echo "<?php echo phpinfo();" > index.php //写phpinfo文件测试

访问成功

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!