Need help with lnmp?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

khs1994-docker
420 Stars 96 Forks Apache License 2.0 2.3K Commits 55 Opened issues

Description

: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)环境.

Services available

!
?

Need anything else?

Contributors list

LNMP Docker

GitHub stars GitHub release GitHub (pre-)release license Build Status

star

: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 | Build status | | Linux | Build Status | | macOS | CI | | 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

WeChat

Welcome developer subscribe WeChat

Prerequisites

To use LNMP Docker, you need:

:one: Git

:two: Docker CE 19.03 Stable +

:three: Docker Compose 1.29.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 [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

Start LNMP Demo

$ cd lnmp

$ ./lnmp-docker up

$ curl 127.0.0.1

Welcome use khs1994-docker/lnmp v20.10 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_ROOT
to 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

.env
file 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 php7

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:2.9.0
| 2.9.0 |
alpine:3.14
| |NGINX |
nginx:1.21.1-alpine
| 1.21.1 |
alpine:3.13
| |NGINX Unit |
khs1994/php:8.0.9-unit-alpine
| 1.24.0 |
alpine:3.13
| |HTTPD |
httpd:2.4.49-alpine
| 2.4.49 |
alpine:3.14
| |MySQL |
mysql:8.0.26
| 8.0.26 |
debian:buster-slim
| |MariaDB |
mariadb:10.6.4
| 10.6.4 |
ubuntu:focal
| |Redis |
redis:6.2.5-alpine
| 6.2.5 |
alpine:3.13
| |PHP-FPM |
khs1994/php:8.0.9-fpm-alpine
| 8.0.9 |
alpine:3.13
| |Composer |
khs1994/php:8.0.9-composer-alpine
| 2.1.8 |
alpine:3.13
| |Memcached |
memcached:1.6.9-alpine
| 1.6.9 |
alpine:3.14
| |RabbitMQ |
rabbitmq:3.9.0-management-alpine
| 3.9.0 |
alpine:3.13
| |PostgreSQL |
postgres:13.3-alpine
| 13.3 |
alpine:3.14
| |MongoDB |
mongo:5.0.1
| 5.0.1 |
ubuntu:bionic
| |PHPMyAdmin|
phpmyadmin:5.1.1
| 5.1.1 |
alpine:3.14
| |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

Donate

Please see https://zan.khs1994.com

Privacy

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.