PHP安装
#############################################################################

1、直接拉取官方镜像
查找Docker Hub上的php镜像  

docker search php


直接拉取官方镜像

docker run --name myphp  --restart=always --network lnmp -d php:7.1-fpm 


2、创建php容器

mkdir /opt/php

#拷贝配置文件(这个地方容易出错,可以直接把实施工程文件里现成的配置文件直接拷贝过去,不用执行下面的语句了)

docker cp 0850901bc597:/etc/php/7.1/fpm/php.ini /opt/php/php.ini
#停止、删除容器
docker stop php
docker rm b2009f54cf34
#正式部署
docker run -p 9000:9000 --name php -v //opt/nginx/html:/var/www/html -v //opt/php/php.ini:/etc/php/7.4/fpm/php.ini -d  --restart=always php:7.1-fpm 

第一个-v 网址Nginx网站目录映射到PHP目录
第二个-v 映射配置文件php容器和宿主机共享目录

3、修改nginx配置(此处配置文件在本机,/opt/nginx/conf目录下)

user  root;
worker_processes  1;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;

    server {
    listen       80;
    server_name  localhost;

    location / {
        #这是nginx容器中的默认配置路径,已经映射到虚拟机/www下了 不需要改动
        root   /usr/share/nginx/html/;
        #这里添加index.php入口文件
        index index.php index.html index.htm;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    #配置php
    location ~ \.php$ {
        #这里要换成php容器的ip!
        fastcgi_pass   192.168.0.118:9000; 
        fastcgi_index  index.php;
        #这一段一定要注意!把php容器中默认的/var/www/html写进去,替换掉之前的$document
        fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi_params;
    }
}


 ##############################轮询负载均衡##################################
 

 # upstream order {
   #ip_hash;
   #server 192.168.0.118:8011 weight=1;  #weight权重
   #server 192.168.0.118:8088 weight=1;
   #}

 
   # server{
   # listen 80;
   # server_name 192.168.0.118;
   # location / {
   #    index  index.html  index.htm;
   #     proxy_pass http://order/;
# }
# }


####################################标准配置################################

#   server {
#      listen   80;
#     server_name  somename  alias  another.alias;
# 
#       location / {
#            root   /usr/share/nginx/html/;
#            index  index.html index.htm;
#       }
#    }
    
}


#保存退出,然后重启nginx

docker restart nginx


#去Nginx目录下/opt/nginx/html目录中新建index.php(此目录是共享目录,已经挂载给Nginx和PHP,所以项目可以直接放在这个目录下即可)
#写入php代码,然后本地访问虚拟机ip即可看到配置成功


php扩展安装

首先进入容器
docker  ps

docker  exec  -it   容器ID或名称  /bin/bash

cd /usr/src   里边会有两个压缩文件

安装链接MySQL数据库的驱动

docker-php-ext-install pdo pdo_mysql

docker-php-ext-install mysqli

Linux 系统 docker快速搭建PHP环境-LMLPHP

03-30 13:15