# html以及php文件目录
mkdir -p /server/dede/www
# 日志目录
mkdir -p /server/dede/logs
# 配置文件目录
mkdir -p /server/dede/conf
# 创建自定义配置文件目录
mkdir -p /server/dede/conf/conf.d
 
在/server/dede/www目录下创建index.php文件。
内容如下:
<?php
echo phpinfo();
?>
 
docker run --name  myphp7 -v /server/dede/www:/www  -d php:7.1.30-fpm
 
在/server/dede/conf/conf.d目录下创建test-php.conf文件,内容如下:
server {
    listen       80;
    server_name  www.51souyun.com;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}
 
配置文件说明:
php:9000: 表示 php-fpm 服务的 URL,下面我们会具体说明。
/www/: 是 myphp-fpm 中 php 文件的存储路径,映射到本地的 /server/dede/www 目录。
docker run --name php-nginx -p 9022:80 -d \
-v /server/dede/www:/usr/share/nginx/html:ro \
-v /server/dede/conf/conf.d:/etc/nginx/conf.d:ro \
--link myphp7:php \
nginx
 
参数说明:
在浏览器输入 http://www.51souyun.com:9022/ 显示如下页面:

# 安装php
docker run --name myphp5 -v /server/dede/www:/www  -d php:5.6-fpm
# 安装nginx
docker run --name php5nginx -p 9022:80 -v /server/dede/www:/usr/share/nginx/html -v /server/dede/conf/conf.d:/etc/nginx/conf.d --link myphp5:php -d nginx
 
docker exec -it  myphp5 bash (myphp5 为容器名)
 

docker-php-ext-install 为安装扩展
cd /usr/local/bin/
 
./docker-php-ext-install mysql
./docker-php-ext-install mysqli
 
打开php.ini 中打开:

然后重启php容器。
#进入PHP容器
#更新软件源
apt update
#安装各种库
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
#解压源码
docker-php-source extract
# 进入gd源码文件夹
cd /usr/src/php/ext/gd
#准备编译
docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2
#编译安装
docker-php-ext-install gd
#查看是否成功安装gd扩展
php -m | grep gd
#重启容器
 
php的docker容器中重要的两个目录:
# php.ini的存放目录
/usr/local/etc/php
# docker-php-ext-install的存放目录
/usr/local/bin