Docker - 自定义Dev环境(部署PHP)
docker其实比之前想象的要简单,下载你想要的服务镜像,用 docker run 生成一个容器,当你基础环境都ok的时候,docker commit 命令保存你新的自定义镜像,我需要的是centos中集成的lnmp,要求php >= 7.2,并开启以下扩展。
extension = yaf.so
extension = swoole.so
extension = mongodb.so
extension = redis.so
extension = trie_filter.so
extension = apcu.so
extension = xdiff.so
1.lnmp官网稳定版1.7
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp
2.docker commit :从容器创建一个新的镜像。
docker commit -a "stark" -m "stark_lnmp" a404c6c174a2 ChangPei_lnmp2.0(新镜像名):(Tag)cp2.0
安装扩展
PHP官网找到相应的扩展 https://www.php.net/
1.安装yaf
wget https://pecl.php.net/get/yaf-3.2.5.tgz //下载
tar -xzvf yaf-3.2.5.tgz // 解压
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
extension=yaf.so
2.安装swoole
git clone https://github.com/swoole/swoole-src.git
cd swoole-src
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
extension=swoole.so
3.安装 MongoDB
wget https://pecl.php.net/get/mongodb-1.8.1.tgz
tar -xzvf mongodb-1.8.1.tgz
phpize //使用phpize解压 /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
extension=mongodb.so
- 安装apcu
wget http://pecl.php.net/get/apcu-5.1.17.tgz
tar zxvf apcu-5.1.17.tgz
cd apcu-5.1.17
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
5.安装redis
https://blog.csdn.net/xuezhiwu001/article/details/104972967,之前的博客里写过就不赘述了
搭建成功后,执行docker ,命令如下,用phpinfo()
来查看下配置
docker run -it -d -p 8086:80 -v /Users/stark/cp/gzcp:/home/wwwroot/default/ 6ded827cca6d /bin/bash
启动后也发现了新的问题:
1.当docker运行起来时,怎么访问其他docker实例中的redis,怎么访问外部的docker机器?
2.当docker启动时,是不是因为端口占用而导致别的redis无法启动?
[root@2fefb27a68de /]# /etc/init.d/redis status
Redis server is running.
[root@2fefb27a68de /]# ps aux |grep redis
root 637 0.0 0.0 9180 1056 pts/0 S+ 09:17 0:00 grep --color=auto redis
3.第三个就是静态页面的路径不正确,不知道yaf里是怎么搞的,这个问题先放放
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!