peakyao / lnmp-1

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

Home Page:https://docs.lnmp.khs1994.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 Build Status
Linux arm64v8 -
Linux arm32v7 -

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

🐳 Try Kubernetes FREE

WeChat

Welcome developer subscribe WeChat

Prerequisites

To use LNMP Docker, you need:

1️⃣ Docker CE 19.03 Stable +

2️⃣ Docker Compose 1.25.0+

3️⃣ 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 v19.03 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->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');

AD 🐳

Try Kubernetes FREE

Advanced

PHP EOL

  • 7.0

More information please see https://github.com/khs1994-docker/lnmp/issues/354

Meet issues With MySQL 8.0 ?

Please see khs1994-docker#450

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.5 2.8.5 Alpine:3.11
NGINX nginx:1.17.8-alpine 1.17.8 Alpine:3.10
NGINX Unit khs1994/php:7.4.2-unit-alpine 1.14.0 Alpine:3.11
HTTPD httpd:2.4.41-alpine 2.4.41 Alpine:3.11
MySQL mysql:8.0.19 8.0.19 Debian:stretch
MariaDB mariadb:10.4.12 10.4.12 Ubuntu:bionic
Redis redis:5.0.7-alpine 5.0.7 Alpine:3.11
PHP-FPM khs1994/php:7.4.2-fpm-alpine 7.4.2 Alpine:3.11
Laravel khs1994/php:7.4.2-composer-alpine 6.x Alpine:3.11
Composer khs1994/php:7.4.2-composer-alpine 1.9.2 Alpine:3.11
PHP-CS-Fixer khs1994/php-cs-fixer 2.16.1 Alpine:3.11
Memcached memcached:1.5.21-alpine 1.5.21 Alpine:3.10
RabbitMQ rabbitmq:3.8.2-management-alpine 3.8.2 Alpine:3.11
PostgreSQL postgres:12.1-alpine 12.1 Alpine:3.10
MongoDB mongo:4.2.3 4.2.3 Ubuntu:bionic
PHPMyAdmin phpmyadmin/phpmyadmin:latest latest Alpine:3.11
Registry registry:latest latest Alpine:3.8

Folder Structure

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

Exposed Ports

  • 80
  • 443
  • 8080 PHPMyAdmin (Development only)

CLI

Easy to generate nginx or apache config, etc. Please use ./lnmp-docker.

Run in Production

Start Containers as a Service(CaaS). For more information, see Documents.

LinuxKit

# OS: macOS

$ cd linuxkit

$ linuxkit build lnmp.yml

$ linuxkit run -publish 8080:80/tcp lnmp

Open your Browers 127.0.0.1:8080

Who use in Production?

TLS1.3

Please see khs1994-docker#137

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 🐳

Try Kubernetes FREE

About

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

https://docs.lnmp.khs1994.com

License:Apache License 2.0


Languages

Language:Dockerfile 100.0%