1. 前言
2. 目标
3. 实现原理图
4. 环境准备
5. 实战演练
(1)创建挂载目录
(2)默认配置文件
(3)网络配置
(4)启动容器
(4)Nginx配置
(5)重启容器,进行验证即可
6. 扩展相关
(1)修改源
(2)扩展安装(以Redis为例)
(3)Composer安装
7.总结
- 基于docker 构建PHP5.6、7.3的运行环境,负责具体PHP脚本的执行;
- 利用Nginx,结合不同的配置转发至项目所需的PHP环境中,多个环境共用一个Nginx;
- 为保障容器间可以互相访问,Nginx、PHP容器在同一个网络下
- 安装
# 拷贝至容器内
docker cp phpredis-5.3.4.tar.gz php7.3:/tmp# 进入容器内目录解压文件
tar -zxvf phpredis-5.3.4.tar.gz# 创建扩展目录
mkdir -p /usr/src/php/ext# 拷贝至扩展目录
mv phpredis-5.3.4 /usr/src/php/ext/redis# 安装扩展
docker-php-ext-install redis# 重启容器即可生效
docker-php-ext-xx命令使用说明
1. docker-php-source
- docker-php-source extract:在当前目录下---创建并初始化 /usr/src/php 目录
- docker-php-source delete:在当前目录下---删除 /usr/src/php 目录
2. docker-php-ext-install
- 用来安装PHP扩展的,命令格式:docker-php-ext-install 源码包目录名
- 源码包要放在 /usr/src/php/ext 下
- 默认情况下,PHP容器没有 /usr/src/php 这个目录,需要使用 docker-php-source extract 来生成
- docker-php-ext-install 安装的扩展在安装完成后,会自动调用 docker-php-ext-inable 来启动安装的扩展
3. docker-php-ext-enable
- 用来启动PHP扩展
4. docker-php-ext-configure
- 安装扩展的时,用于自定义配置
(3)Composer安装
下载Composer,可以直接下载也可以选择在宿主机下载后拷贝至容器内
# 下载composer
curl -sS https://getcomposer.org/installer | php# 移动至bin下
mv composer.phar /usr/local/bin/composer# 设置阿里源
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
使用:
# 在宿主机项目中使用时,通过-c 指定composer install 或者 composer update
docker exec -it cb6c1fe83bff(php容器ID) bash -c 'composer update'
# 在CICD中(shell方式)下可去除-it命令,否则会报不是有效终端的错误,若无可忽略
docker exec cb6c1fe83bff(php容器ID) bash -c 'composer update'
7.总结
本方案中通过手动创建多个容器及网络组建开发环境,在为PHP安装依赖扩展时相对较为麻烦,其部分环节可使用docker compose 简化依赖及相关容器配置,有兴趣的小伙伴也可以进行尝试该方式,文中不当内容还请大家批评指正,谢谢。
发表评论 取消回复