LNMP Docker
October 1, 2025 · View on GitHub
由于 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
Welcome developer subscribe WeChat
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
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 https://zan.khs1994.com