Start Docker LNMP(LEMP) In less than 2 minutes Powered by Docker Compose. 让 PHP 开发者快速(一键)搭建基于容器技术(Docker、Kubernetes)的开发、测试、生产(CI/CD by Drone)环境.
APACHE-2.0 License
💻 🐳 🐘 🐬 🐧 🚀 使用 Docker Compose 快速搭建 LNMP 环境,仅需 一条命令 $ ./lnmp-docker up
企业版 个性化定制请访问 lnmp-ee
Platform | Status |
---|---|
Windows | |
Linux | |
macOS | |
Linux arm64v8 | - |
本项目支持 x86_64
架构的 Linux,macOS,Windows 10 并且支持 arm
架构的 Debian(树莓派)。
⚠️ 除了 .env
等特定文件,本项目中的任何文件严禁二次修改。为什么?
⚠️ Windows Docker 非常不稳定,且运行 Laravel 响应较慢。解决办法
🎁 为了本项目的持续发展,你可以使用 推广产品 或直接 打赏 赞助本项目。
本项目需要以下软件:
1️⃣ Git
2️⃣ Docker 23.11 Stable +
4️⃣ WSL (Windows Only)
如果你使用的是 Windows 10 请查看 支持文档。
鉴于国内 clone GitHub 项目较慢,本项目在 gitee.com 托管,每日集成到 GitHub,建议国内用户使用中国镜像,技术交流请到本项目 GitHub,避免在 gitee.com 提 issue 或 PR。
$ git clone --depth=1 https://github.com/khs1994-docker/lnmp.git
# $ git clone --depth=1 [email protected]:khs1994-docker/lnmp.git
# 从 GitHub 克隆太慢?请使用中国镜像
$ git clone --depth=1 https://gitee.com/khs1994-docker/lnmp.git
# $ git clone --depth=1 [email protected]:khs1994-docker/lnmp.git
$ cd lnmp
$ ./lnmp-docker up
$ curl 127.0.0.1
Welcome use khs1994-docker/lnmp v23.11 x86_64 With Pull Docker Image
development
💡 MySQL 默认 ROOT 密码为 mytest
在 ./app/
下新建一个文件夹作为 PHP 项目开发目录,并在 ./config/nginx/
新建一个 nginx 配置文件。
你也可以使用以下命令快速的新建一个 PHP 项目,并完成后续一系列配置(生成 nginx 配置、申请 SSL 证书)。
# $ ./lnmp-docker new
$ ./lnmp-docker restart nginx
你可以通过设置
APP_ROOT
来改变 PHP 项目文件夹所在位置。
更多信息请查看 LNMP 容器化最佳实践 https://github.com/khs1994-docker/php-demo
$redis = new \Redis();
- $redis->connect('127.0.0.1',6379);
+ $redis->connect('redis', 6379);
- $pdo = new \PDO('mysql:host=127.0.0.1;dbname=test;port=3306','root','mytest');
+ $pdo = new \PDO('mysql:host=mysql,dbname=test,port=3306', 'root', 'mytest');
lnmp-php
lnmp-composer
lnmp-phpunit
lnmp-laravel
...
更多信息请请查看 支持文档
由
acme.sh
提供支持
$ ./lnmp-docker ssl khs1994.com -d *.khs1994.com
使用前请提前在
.env
文件或系统环境变量中设置 DNS 服务商的相关密钥。也支持一键生成自签名 SSL 证书,更多信息请查看 支持文档
$ docker container ls -a -f label=com.khs1994.lnmp
如果要使用自行构建的镜像请查看 支持文档
# 全部重启
$ ./lnmp-docker restart
# 重启指定软件
$ ./lnmp-docker restart nginx php8
$ ./lnmp-docker stop
$ ./lnmp-docker down
请查看 支持文档
Name | Docker Image | Version | Based |
---|---|---|---|
ACME.sh | khs1994/acme:3.0.0 |
3.0.0 | alpine:3.16 |
NGINX | nginx:1.25.3-alpine |
1.25.3 | alpine:3.13 |
NGINX Unit | khs1994/php:8.3.0-unit-alpine |
1.30.0 | alpine:3.16 |
HTTPD | httpd:2.4.53-alpine |
2.4.53 | alpine:3.16 |
MySQL | mysql:8.0.33 |
8.0.33 | oraclelinux:8-slim |
MariaDB | mariadb:10.11.5 |
10.11.5 | ubuntu:jammy |
Redis | redis:7.0.0-alpine |
7.0.0 | alpine:3.16 |
PHP-FPM | khs1994/php:8.3.0-fpm-alpine |
8.3.0 | alpine:3.19 |
Composer | khs1994/php:8.3.0-composer-alpine |
2.5.8 | alpine:3.19 |
Memcached | memcached:1.6.15-alpine |
1.6.15 | alpine:3.16 |
RabbitMQ | rabbitmq:3.9.0-management-alpine |
3.9.0 | alpine:3.13 |
PostgreSQL | postgres:14.0-alpine |
14.0 | alpine:3.14 |
MongoDB | mongo:5.0.3 |
5.0.3 | ubuntu:bionic |
PHPMyAdmin | phpmyadmin:5.2.0 |
5.2.0 | alpine:3.16 |
Registry | registry:latest |
latest | alpine:3.11 |
文件夹 | 说明 |
---|---|
app |
项目文件(HTML, PHP, etc) |
scripts/backup |
备份文件 |
bin |
PHPer 常用命令 |
config |
配置文件 |
dockerfile |
自定义 Dockerfile |
log |
日志文件 |
scripts |
用户自定义脚本文件 |
为简化操作方式,本项目提供了 交互式
的命令行工具 ./lnmp-docker
请查看 https://github.com/khs1994-docker/lnmp/issues/895
请查看:如何贡献