使用 Docker Compose 快速搭建 LNMP 环境。
本项目支持 x86_64
架构的 Linux,macOS,Windows 10 并且支持 arm
架构的 Debian(树莓派)。
本项目需要以下软件:
-
Docker CE 17.12 Stable +
-
Docker Compose 1.18.0+
-
WSL (Windows Only)
简单而言,搞明白了项目路径,Nginx 配置就行了,遇到任何问题请提出 issue。
如果你使用的是 Windows 10 请查看 支持文档。
使用以下的任意一种方法来安装本项目。
-
使用一键安装脚本
$ curl -fsSL lnmp.khs1994.com -o lnmp.sh ; sh lnmp.sh
-
使用
git clone
$ git clone --recursive https://github.com/khs1994-docker/lnmp.git # $ git clone --recursive [email protected]:khs1994-docker/lnmp.git # 中国镜像 $ git clone --recursive https://code.aliyun.com/khs1994-docker/lnmp.git # $ git clone --recursive [email protected]:khs1994-docker/lnmp.git
$ cd lnmp
$ ./lnmp-docker.sh development
$ curl 127.0.0.1
Welcome use khs1994-docker/lnmp v18.02 x86_64 With Pull Docker Image
development
在 ./app
目录下开始 PHP 项目开发,在 ./config/nginx/
新建 nginx 配置文件。
你也可以使用以下命令快速的新建一个 PHP 项目,并完成后续一系列配置(生成 nginx 配置、申请 SSL 证书)。
# $ ./lnmp-docker.sh new
$ ./lnmp-docker.sh restart nginx
-
lnmp-php
-
lnmp-composer
-
lnmp-phpunit
-
lnmp-laravel
-
...
更多信息请请查看 支持文档
由
acme.sh
提供支持
$ ./lnmp-docker.sh ssl www.khs1994.com
一键申请证书仅支持
dnspod.cn
DNS,使用前请提前在.env
文件中设置 DNS 服务商的相关密钥。也支持一键生成自签名 SSL 证书,更多信息请查看 支持文档。
$ docker container ls -a -f label=com.khs1994.lnmp
如果要使用自行构建的镜像请查看 支持文档
# 全部重启
$ ./lnmp-docker.sh restart
# 重启指定软件
$ ./lnmp-docker.sh restart nginx php7
$ ./lnmp-docker.sh stop
$ ./lnmp-docker.sh down
每月更新版本,版本命名方式为 YY.MM
,更新记录请查看 Releases。
请查看 支持文档
请查看 支持文档
Name | Docker Image | Version | Based |
---|---|---|---|
NGINX | khs1994/nginx:1.13.9-tls1.3-stretch |
1.13.9 | Debian:stretch |
Apache | httpd:2.4.29-alpine |
2.4.29 | Alpine:3.6 |
MySQL | mysql:8.0.3 |
8.0.3 | Debian:jessie |
MariaDB | mariadb:10.3.4 |
10.3.4 | Debian:jessie |
Redis | redis:4.0.8-alpine |
4.0.8 | Alpine:3.7 |
PHP-FPM | khs1994/php-fpm:7.2.2-alpine3.7 |
7.2.2 | Alpine:3.7 |
Laravel | khs1994/php-fpm:7.2.2-alpine3.7 |
5.5 | Alpine:3.7 |
Composer | khs1994/php-fpm:7.2.2-alpine3.7 |
1.6.3 | Alpine:3.7 |
Memcached | memcached:1.5.4-alpine |
1.5.4 | Alpine:3.7 |
RabbitMQ | rabbitmq:3.7.2-management-alpine |
3.7.2 | Alpine:3.7 |
PostgreSQL | postgres:10.1-alpine |
10.1 | Alpine:3.6 |
MongoDB | mongo:3.7.1 |
3.7.1 | Debian:jessie |
PHPMyAdmin | phpmyadmin/phpmyadmin:latest |
latest | Alpine:3.6 |
Registry | registry:latest |
latest | Alpine:3.4 |
文件夹 | 说明 |
---|---|
app |
项目文件(HTML, PHP, etc) |
backup |
备份文件 |
bin |
PHPer 常用命令 |
config |
配置文件 |
dockerfile |
自定义 Dockerfile |
logs |
日志文件 |
scripts |
用户自定义脚本文件 |
- 80
- 443
为简化操作方式,本项目提供了 交互式
的命令行工具 ./lnmp-docker.sh
马上开启 容器即服务( CaaS )
之旅!更多信息请查看 支持文档
# OS: macOS
$ cd linuxkit
$ linuxkit build lnmp.yml
$ linuxkit run -publish 8080:80/tcp lnmp
浏览器打开 127.0.0.1:8080
,即可看到网页
- TGit:https://git.qcloud.com/khs1994-docker/lnmp.git
- 阿里云 CODE:https://code.aliyun.com/khs1994-docker/lnmp.git
- 码云:https://gitee.com/khs1994/lnmp.git
- Coding:https://git.coding.net/khs1994/lnmp.git
请查看 khs1994-docker/dockerd-tls
请查看:如何贡献