- 请配置docker的Registry mirrors为中国大陆的 daocloud.io(加速器)
- 使用 docker-compose up -d 快速搭建php环境
- 安装Docker(官方默认会自带docker-compose 工具), 已经安装过的可以跳过此步
- 对Docker Machine 设置里,配置
Setting->Daemon->Registry mirrors,增加加速器URL,比如http://xxxx.m.daocloud.io - 对Docker Machine 设置里,配置
Setting->Shared Drives(Windows)/File Sharing(Mac),
- 复制example.env到同级目录下,并重命名.env,命令操作
cp ./example.env ./.env- 【必】修改.env文件的配置。
LOCAL_STOARGE_PATH=设置为此github clone的根目录。 比如/var/www/html/docker-php - 【必】修改.env文件的配置。
LOCAL_WEB_PATH=设置为你开发项目的基础根目录, 比如/var/www/html/docker-php/www - 【必】启动所有命令行执行
docker-compose up -d- 多个虚拟站点的配置,直接参考nginx/conf.d/demo.cfg, 复制粘贴demo.cfg在同目录下并重名为site1.conf, 并根据注释修改目录路径(以容器目录为准),重命名文件必须以
conf扩展名结尾, 举例命令行
cp ./nginx/conf.d/demo.cfg ./nginx/conf.d/site1.conf- 开启HTTPS支持。 第一次进入nginx容器,命令行
docker-compose exec nginx bash
# 自动化生成相关证书,生成目录在容器目录/etc/nginx/ssl
sh /usr/local/bin/docker-make-ssl.sh
# 拷贝容器的所有证书到宿主机nginx/ca目录下
cp -R /etc/nginx/ssl /etc/nginx/ca然后配置你的nginx虚拟站点conf,取消相关ssl_注释即可,默认开放443:443映射
- 使用动态扩展库方法,复制nginx/my_modules/xxxx.so 文件到nginx容器里/etc/nginx/module/内,并修改nginx.conf文件,在worker_processes下一行追加
load_module modules/xxxx.so;,可以参考conf.d/nginx.default配置.
- 【Seaslog】的配置范本文件在宿主机php/ext/ini/seaslog.ini里,根据注释复制一下,然后进入PHP容器修改容器内的文件
/usr/local/etc/php/conf.d/docker-php-ext-seaslog.ini即可, 命令如下
# 进入PHP容器
docker-compose exec php bash
# 修改容器内的seaslog扩展配置
vi /usr/local/etc/php/conf.d/docker-php-ext-seaslog.ini将 php-fpm 和 nginx 容器分开,通过 php:9000 端口通信
php镜像来自官方 php:fpm,目前最新稳定版本是 7.2.8
在此基础上添加了以下等扩展:
- swoole-4.0.3
- redis/hiredis
- mysqli
- pdo_mysql
- mongodb
- bz2
- dba
- GD
- zip
- pdo_sqlite
- memcached
- bcmath
- openssl
- mbstring
- sockets
- event
- posix
- pcntl
- intl
- xml
- tidy
- json
- ldap
- calendar
- soap
- gmp
- msgpack
- inotify
- grpc
- seaslog
- molten
- zlib
- apcu (可选)
- ...
手动添加了 composer 并替换了国内源,修改了时区(Asia/Shanghai)
直接使用的 nginx:latest 镜像,需要挂载自己的PHP项目工作目录,并配置nginx/conf.d里各个站点
可以支持HTTPS 加密协议访问(单向、双向)
配置文件:/docker-php/supervisord.conf 启动项目进程:/docker-php/supervisor/conf 启动日志: /docker/log/supervisor
$ cd docker-php/
// 后台运行
$ docker-compose up -d
// 进入php容器bash环境
$ docker-compose exec php bash