docker其实比之前想象的要简单,下载你想要的服务镜像,用 docker run 生成一个容器,当你基础环境都ok的时候,docker commit 命令保存你新的自定义镜像,我需要的是centos中集成的lnmp,要求php >= 7.2,并开启以下扩展。 extension = yaf.soextension = swoole.soextension = mongodb.soextension = redis.soextension = trie_filter.soextension = apcu.soextension = 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.gitcd swoole-srcphpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make installextension=swoole.so 3.安装 MongoDB wget https://pecl.php.net/get/mongodb-1.8.1.tgztar -xzvf mongodb-1.8.1.tgzphpize //使用phpize解压 /usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config make && make installextension=mongodb.so 4.安装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://www.jb51.net/article/224449.htm 搭建成功后,执行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 statusRedis server is running.[root@2fefb27a68de /]# ps aux |grep redisroot 637 0.0 0.0 9180 1056 pts/0 S+ 09:17 0:00 grep --color=auto redis 3.第三个就是静态页面的路径不正确,不知道yaf里是怎么搞的,这个问题先放放 下载地址: 使用 使用Zabbix |