💻 🐳 🐘 🐬 🐧 🚀 Start LNMP In Less than 2 minutes Powered By Docker Compose.
LNMP Docker is supported on Linux, macOS, Windows 10 on x86_64
, and Debian (Raspberry Pi3) on arm
.
.env
Why ?
Welcome developer subscribe WeChat
To use LNMP Docker, you need:
1️⃣ Docker CE 18.06 Stable +
2️⃣ Docker Compose 1.22.0+
3️⃣ WSL (Windows Only)
Please see Windows 10.
Use git install LNMP Docker.
$ git clone --depth=1 https://github.com/khs1994-docker/lnmp.git
# $ git clone --depth=1 [email protected]:khs1994-docker/lnmp.git
# 中国镜像
$ 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 v18.06.06 x86_64 With Pull Docker Image
development
💡 MySQL default root password mytest
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_ROOT
to change PHP project folder.
More information please see Docker PHP Best Practice https://github.com/khs1994-docker/php-demo
⛔ $redis->connect('127.0.0.1',6379);
⛔ $pdo = new \PDO('mysql:host=127.0.0.1;dbname=test;port=3306','root','mytest');
$redis = new \Redis();
$redis->connect('redis', 6379);
$pdo = new \PDO('mysql:host=mysql,dbname=test,port=3306', 'root', 'mytest');
Please see https://github.com/khs1994-docker/lnmp/issues/354
Please see #450
-
lnmp-php
-
lnmp-composer
-
lnmp-phpunit
-
lnmp-laravel
-
...
For more information please see Documents
Powered by
acme.sh
$ ./lnmp-docker ssl khs1994.com -d *.khs1994.com
Please set API key and id in
.env
file or System ENV. Support Self-Signed SSL certificate, for more information, see Documents.
$ docker container ls -a -f label=com.khs1994.lnmp
Edit Dockerfile
in ./dockerfile/*/Dockerfile
, then exec ./lnmp-docker build
.
# Restart all container
$ ./lnmp-docker restart
$ ./lnmp-docker restart nginx php7
$ ./lnmp-docker stop
$ ./lnmp-docker down
Please see Documents.
Name | Docker Image | Version | Based |
---|---|---|---|
ACME.sh | khs1994/acme:2.7.9 |
2.7.9 | Alpine:3.8 |
NGINX | khs1994/nginx:1.15.6-alpine |
1.15.6 | Alpine:3.8 |
NGINX Unit | khs1994/nginx-unit:1.4-alpine |
1.4 | Alpine:3.8 |
HTTPD | httpd:2.4.37-alpine |
2.4.37 | Alpine:3.8 |
MySQL | mysql:8.0.13 |
8.0.13 | Debian:stretch |
MariaDB | mariadb:10.3.10 |
10.3.10 | Ubuntu:bionic |
Redis | redis:5.0.0-alpine |
5.0.0 | Alpine:3.8 |
PHP-FPM | khs1994/php:7.2.11-fpm-alpine |
7.2.11 | Alpine:3.8 |
Laravel | khs1994/php:7.2.11-fpm-alpine |
5.7.x | Alpine:3.8 |
Composer | khs1994/php:7.2.11-fpm-alpine |
1.7.3 | Alpine:3.8 |
PHP-CS-Fixer | khs1994/php:7.2.11-fpm-alpine |
2.13.1 | Alpine:3.8 |
Memcached | memcached:1.5.11-alpine |
1.5.11 | Alpine:3.8 |
RabbitMQ | rabbitmq:3.7.8-management-alpine |
3.7.8 | Alpine:3.8 |
PostgreSQL | postgres:11.0-alpine |
11.0 | Alpine:3.8 |
MongoDB | mongo:4.1.4 |
4.1.4 | Ubuntu:xenial |
PHPMyAdmin | phpmyadmin/phpmyadmin:latest |
latest | Alpine:3.8 |
Registry | registry:latest |
latest | Alpine:3.4 |
Folder | description |
---|---|
app |
PHP project (HTML, PHP, etc) |
backup |
backup database file |
bin |
PHPer Commands |
config |
configuration file |
dockerfile |
Dockerfile |
log |
log file |
scripts |
bash shell script |
- 80
- 443
- 8080
PHPMyAdmin
(Development only)
Easy to generate nginx or apache config, etc. Please use ./lnmp-docker
.
Start Containers as a Service(CaaS)
. For more information, see Documents.
# OS: macOS
$ cd toolkit/linuxkit
$ linuxkit build lnmp.yml
$ linuxkit run -publish 8080:80/tcp lnmp
Open your Browers 127.0.0.1:8080
Please see #137
Please see khs1994-docker/ci
Please see Contributing
- 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
Please see https://zan.khs1994.com
We send OS type and IP data to us data collection server, please set true (default) to help us improve.
You can edit .env
file DATA_COLLECTION=false
to disable it.