/docker_lnmp

一键部署基于docker的LAMP环境,并利用electron + vue 提供gui管理。+++ 可配置的多进程php扩展安装

Primary LanguageJavaScriptMIT LicenseMIT

基于docker的LNMP环境

npm npm npm npm npm npm npm

说明

一个基于docker的LNMP环境,并利用electron + vue 提供gui管理(目前只处理了window环境和mac环境,后续支持linux)


其中gui界面通过electron+webpack+vue+babel实现。

使用

  • npm打开
git clone https://github.com/aogg/docker_lnmp.git
cd electron
npm install --registry=https://registry.npm.taobao.org
npm start
  • 首次点击构建,构建docker容器
    github

  • 再点击启动按钮,启动php环境

  • 其中xdebug需要额外配置127.0.0.1 host_localhost的hosts配置

容器配置

各容器放在docker文件夹内,对应配置也在容器文件夹的conf文件夹
其中php、nginx的conf文件夹实现共享目录,可本地修改并在容器内及时体现出 如:
1、docker/php/conf/conf/php.ini
2、docker/php/conf/etc/php-fpm.conf
3、docker/nginx/conf/nginx.conf

其中sources.list是通过COPY过去,所以如要修改必须重新构建所有容器


多进程安装扩展

  • 1、PHP扩展安装相关目录为docker/php/src/,对应容器内路径为/usr/local/php-ext/。

  • 2、config.json为所有扩展的配置文件
    可配置参数:

{
	"EXT_INSTALL" : "是否安装",
	"EXT_NAME"    : "扩展名称",
	"EXT_URL"     : "扩展下载地址",
	"EXT_TGZ_DIR" : "不下载直接用本地目录",
	"EXT_DEPEND"  : "扩展对应依赖",
	"EXT_ARG"     : "扩展编译时参数",
	"EXT_EVAL"    : "扩展下载完成后执行的代码",
	"EXT_DESC"    : "扩展描述"
},
  • 3、install.json为本次构建(build)时需要安装的扩展
  • 4、php-ext.sh为安装PHP扩展的核心多线程shell脚本。平时在容器内可通过下面方式直接安装指定的多个扩展
bash /usr/local/php-ext.sh memcached-2.2.0 xdebug-2.4.0
  • 5、最大并发安装PHP扩展的数量,默认值为15。

打包

放在electron/app/dist目录下

npm run pack

各截图

主界面截图
主界面截图

mini安装多个扩展时间
github