Awesome Open Source
Awesome Open Source

LNMP Docker

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

star

💻 🐳 🐘 🐬 🐧 🚀 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 Build Status

LNMP Docker is supported on Linux, macOS, Windows 10 on x86_64, and Debian (Raspberry Pi3) on arm.

⚠️ Don't Edit Any Files except .env Why ?

⚠️ Run Laravel on Docker For Windows very slow. solve it.

🎁 Donate

🐳 腾讯云 Kubernetes

WeChat

Welcome developer subscribe WeChat

Prerequisites

To use LNMP Docker, you need:

1️⃣ Git

2️⃣ Docker CE 19.03 Stable +

3️⃣ Docker Compose 1.27.0+

4️⃣ 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

💡 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.8.8 2.8.8 alpine:3.12
NGINX nginx:1.19.6-alpine 1.19.6 alpine:3.12
NGINX Unit khs1994/php:8.0.0-unit-alpine 1.21.0 alpine:3.12
HTTPD httpd:2.4.46-alpine 2.4.46 alpine:3.12
MySQL mysql:8.0.22 8.0.22 debian:buster-slim
MariaDB mariadb:10.5.8 10.5.8 ubuntu:focal
Redis redis:6.0.9-alpine 6.0.9 alpine:3.12
PHP-FPM khs1994/php:8.0.0-fpm-alpine 8.0.0 alpine:3.12
Composer khs1994/php:8.0.0-composer-alpine 2.0.8 alpine:3.12
Memcached memcached:1.6.9-alpine 1.6.9 alpine:3.12
RabbitMQ rabbitmq:3.8.9-management-alpine 3.8.9 alpine:3.11
PostgreSQL postgres:13.1-alpine 13.1 alpine:3.12
MongoDB mongo:4.4.2 4.4.2 ubuntu:bionic
PHPMyAdmin phpmyadmin:5.0.4 5.0.4 alpine:3.12
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.

AD 🐳

腾讯云 Kubernetes


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
php (15,838
docker (2,677
laravel (1,548
dockerfile (815
devops (533
docker-compose (358
ci (224
wsl (56
lemp (16
lnmp (16

Find Open Source By Browsing 7,000 Topics Across 59 Categories