[TOC] > [github](https://github.com/yeszao/dnmp) ## 概述 DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的**LNMP一键安装程序**。 1. 默认支持`pdo_mysql`、`mysqli`、`mbstring`、`gd`、`curl`、`opcache`等常用热门扩展,根据环境灵活配置 2. 可一键选配常用服务: * 多PHP版本:PHP5.4、PHP5.6、PHP7.1-7.3 * Web服务:Nginx、Openresty * 数据库:MySQL5、MySQL8、Redis、memcached、MongoDB、ElasticSearch * 消息队列:RabbitMQ * 辅助工具:Kibana、Logstash、phpMyAdmin、phpRedisAdmin、AdminMongo ## 目录结构 ``` / ├── data 数据库数据目录 │ ├── esdata ElasticSearch 数据目录 │ ├── mongo MongoDB 数据目录 │ ├── mysql MySQL8 数据目录 │ └── mysql5 MySQL5 数据目录 ├── services 服务构建文件和配置文件目录 │ ├── elasticsearch ElasticSearch 配置文件目录 │ ├── mysql MySQL8 配置文件目录 │ ├── mysql5 MySQL5 配置文件目录 │ ├── nginx Nginx 配置文件目录 │ ├── php PHP5.6 - PHP7.3 配置目录 │ ├── php54 PHP5.4 配置目录 │ └── redis Redis 配置目录 ├── logs 日志目录 ├── docker-compose-simple.yml 简单版本的 Docker 服务配置示例文件 ├── docker-compose-full.yml 完整版本的 Docker 服务配置示例文件 ├── env.smaple 环境配置示例文件 └── www PHP 代码目录 ``` ## 快速开始 提前安装`git,docker,docker-compose 1.7.0+` ``` git clone https://github.com/yeszao/dnmp.git sudo gpasswd -a ${USER} docker //如果不是root用户,还需将当前用户加入docker用户组 cd dnmp \ && cp env.sample .env \ && cp docker-compose-simple.yml docker-compose.yml \ && docker-compose up ``` 访问 `http://127.0.0.1:80` ## 管理服务 dnmp支持的服务名有:`nginx`、`php`、`php54`、`mysql`、`mongo`、`redis`、`phpmyadmin`、`phpredisadmin`、`elasticsearch`、`adminmongo`、`rabbitmq`、`kibana` ``` $ docker-compose up # 创建并且启动所有容器 $ docker-compose up 服务1 服务2 ... # 创建并且启动指定的多个容器 $ docker-compose up -d 服务1 服务2 ... # 创建并且已后台运行的方式启动多个容器 $ docker-compose start 服务1 服务2 ... # 启动服务 $ docker-compose stop 服务1 服务2 ... # 停止服务 $ docker-compose restart 服务1 服务2 ... # 重启服务 $ docker-compose build 服务1 服务2 ... # 构建或者重新构建服务 $ docker-compose rm 服务1 服务2 ... # 删除并且停止容器 $ docker-compose down 服务1 服务2 ... # 停止并删除容器,网络,图像和挂载卷 ``` ## 操作 ### 修改端口 ``` vim .env //NGINX_HTTP_HOST_PORT=8080 docker-compose up ``` ## 添加新的容器 `docker-compose-full.yml` 文件内的服务列表,把需要的拷贝到 `docker-compose.yml` 文件再`up`