# 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