dnmp docker 安装 LNMP
最后更新于:2022-04-02 02:34:15
[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`
';