Lnmp
:computer: :whale: :elephant: :dolphin: :penguin: :rocket: Start Docker LNMP(LEMP) In less than 2 minutes Powered by Docker Compose. 让 PHP 开发者快速(一键)搭建基于容器技术(Docker、Kubernetes)的开发、测试、生产(CI/CD by Drone)环境.
Install / Use
/learn @khs1994-docker/LnmpREADME
LNMP Docker
由于 Docker 镜像默认地址国内访问不畅,请进行如下配置
.env 文件增加如下内容
LNMP_DOCKER_IMAGE_PREFIX=docker.cnb.cool/khs1994-docker/khs1994
LNMP_LIBRARY_NS=ccr.ccs.tencentyun.com/library-mirror
:computer: :whale: :elephant: :dolphin: :penguin: :rocket: Start LNMP In Less than 2 minutes Powered By Docker Compose, one command $ ./lnmp-docker up
| Platform | Status |
| -- | -- |
| Windows | |
| Linux |
|
| macOS |
|
| Linux arm64v8 |
|
LNMP Docker is supported on Linux, macOS, Windows 10 on x86_64, and Debian (Raspberry Pi3) on arm.
:warning: Don't Edit Any Files except .env Why ?
:warning: Run Laravel on Docker For Windows very slow. solve it.
:gift: Donate
Prerequisites
To use LNMP Docker, you need:
:one: Git
:two: Docker
:three: Docker Compose v2.17.0+
:four: WSL (Windows Only)
Quick Start
Windows 10
Please see Windows 10.
Install
Use git install LNMP Docker.
$ git clone --depth=1 https://github.com/khs1994-docker/lnmp.git
# $ git clone --depth=1 git@github.com:khs1994-docker/lnmp.git
# 中国镜像
$ git clone --depth=1 https://gitee.com/khs1994-docker/lnmp.git
# $ git clone --depth=1 git@gitee.com:khs1994-docker/lnmp.git
Start LNMP Demo
$ cd lnmp
$ ./lnmp-docker up
$ curl 127.0.0.1
Welcome use khs1994-docker/lnmp v24.11 x86_64 With Pull Docker Image
development
:bulb: MySQL default root password mytest
Start PHP Project
Create new folder to start PHP project(e.g, Laravel) in ./app/ folder, And edit nginx config file in ./config/nginx/yourfilename.conf.
# $ ./lnmp-docker new
$ ./lnmp-docker restart nginx
You can set
APP_ROOTto change PHP project folder.
More information please see Docker PHP Best Practice https://github.com/khs1994-docker/php-demo
How to connect Services
$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');
Advanced
PHPer commands
-
lnmp-php -
lnmp-composer -
lnmp-phpunit -
lnmp-laravel -
...
For more information please see Documents
Issue SSL certificate
Powered by
acme.sh
$ ./lnmp-docker ssl khs1994.com -d *.khs1994.com
Please set API key and id in
.envfile or System ENV. Support Self-Signed SSL certificate, for more information, see Documents.
List LNMP Container
$ docker container ls -a -f label=com.khs1994.lnmp
Use Self-Build Docker Image
Edit Dockerfile in ./dockerfile/*/Dockerfile, then exec ./lnmp-docker build.
Restart
# Restart all container
$ ./lnmp-docker restart
$ ./lnmp-docker restart nginx php8
Stop
$ ./lnmp-docker stop
Stop and remove
$ ./lnmp-docker down
Overview
Features
Please see Documents.
What's inside
|Name|Docker Image|Version|Based|
|:-- |:-- |:-- |:-- |
|ACME.sh |khs1994/acme:3.1.0 | 3.1.0 |alpine:3.20 |
|NGINX |nginx:1.29.1-alpine | 1.29.1 |alpine:3.22 |
|NGINX Unit |khs1994/php:8.4.11-unit-alpine| 1.35.0 |alpine:3.22 |
|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.4.11-fpm-alpine | 8.4.11 |alpine:3.22 |
|Composer |khs1994/php:8.4.11-composer-alpine| 2.8.11 |alpine:3.22 |
|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 |
Folder Structure
|Folder|description|
|:--|:--|
|app |PHP project (HTML, PHP, etc) |
|scripts/backup|backup database file|
|bin |PHPer Commands |
|config |configuration file|
|dockerfile |Dockerfile |
|log |log file |
|scripts |bash shell script |
Exposed Ports
- 80
- 443
CLI
Easy to generate nginx or apache config, etc. Please use ./lnmp-docker.
Who use in Production?
khs1994.com
PCIT -- PHP CI TOOLKIT
HTTP3/QUIC
Please see https://github.com/khs1994-docker/lnmp/issues/895
CI/CD
Please see khs1994-docker/ci
Documents
https://docs.lnmp.khs1994.com
Contributing
Please see Contributing
Thanks
More Information
- docker_practice
- Compose file version 3 reference
- Share Compose configurations between files and projects
- kasperisager/php-dockerized
- zhaojunlike/docker-lnmp-redis
- micooz/docker-lnmp
- twang2218/docker-lnmp
- bravist/lnmp-docker
- yeszao/dnmp
- laradock/laradock
Donate
Please see [h
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
349.0kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
