Git Product home page Git Product logo

docker-lnmp-1's Introduction

Docker-LNMP

利用 Docker-Compose 编排 LNMP开发环境

清单

注: 完整版(docker-compose up -d)

  • PHP7.2
  • Nginx
  • MySQL5.6
  • Redis
  • phpMyAdmin
  • phpRedisAdmin

注: 精简版(docker-compose -f docker-compose-simplify.yml up -d)

  • PHP7.2
  • Nginx
  • MySQL5.6
  • Redis

目录结构

Docker-LNMP
|----docker                             Docker目录
|--------config                         配置文件目录
|------------proxy                      nginx配置文件目录
|--------files                          DockerFile文件目录
|------------cgi                        php-fpm DockerFile文件目录
|----------------Dockerfile             php-fpm DockerFile文件
|----------------docker-entrypoint.sh   php-fpm 启动脚本
|------------proxy                      nginx DockerFile文件目录
|----------------Dockerfile             nginx DockerFile文件
|----------------docker-entrypoint.sh   nginx 启动脚本
|--------log                            日志文件目录
|------------cgi                        php-fpm日志文件目录
|------------proxy                      nginx日志文件目录
|----www                                应用根目录
|--------index.php                      PHP例程
|----README.md                          说明文件
|----docker-compose.yml                 docker compose 配置文件(完整版: LNMP+Redis+phpMyAdmin+phpRedisAdmin)
|----docker-compose-simplify.yml        docker compose 配置文件(精简版: LNMP+Redis)

准备

# 安装docker和docker-compose
yum -y install epel-release 
yum -y install docker docker-compose

# 启动docker服务
service docker start

# 配置阿里云docker镜像加速器(建议配置加速器, 可以提升docker拉取镜像的速度)
mkdir -p /etc/docker
vim /etc/docker/daemon.json
# 新增下面内容
{
    "registry-mirrors": ["https://8auvmfwy.mirror.aliyuncs.com"]
}
# 重新加载配置、重启docker
systemctl daemon-reload 
systemctl restart docker 

安装

# 克隆项目
git clone https://github.com/duiying/Docker-LNMP.git
# 进入目录
cd Docker-LNMP
# 容器编排
docker-compose up -d
# 或使用加速版(推荐, 耗时约10分钟)
docker-compose -f docker-compose-fast.yml up -d
# 或使用精简版
docker-compose -f docker-compose-simplify.yml up -d

测试

执行成功

Creating cgi ... done
Creating proxy ... done
Creating mysql ...
Creating phpmyadmin ...
Creating phpredisadmin ...
Creating cgi ...
Creating proxy ...

访问IP, 效果图如下
效果图

学习文档

可能遇到的问题

# Error信息
The "https://packagist.phpcomposer.com/packages.json" file could not be down
# 解决方案
这是由于composer**镜像失效, 修改Docker-LNMP/docker/files/cgi/Dockerfile
https://packagist.phpcomposer.com 改为 https://mirrors.aliyun.com/composer/
# Error信息
ERROR: for mysql  Cannot start service mysql: endpoint with name mysql already exists in network docker-lnmp_default
# 解决方案
这是由于端口被占用,需要清理此容器的网络占用
格式:docker network disconnect --force 网络模式 容器名称
docker network disconnect --force docker-lnmp_default mysql
检查是否还有其它容器占用
格式:docker network inspect 网络模式

更新日志

  • cgi容器支持crontab
  • PHP支持rdkafka扩展
  • PHP支持POSIX、PCNTL扩展
  • 新增学习文档

Docker常用命令

# 删除所有容器
docker rm -f $(docker ps -aq)  
# 删除所有镜像
docker rmi $(docker images -q)

参考

docker-lnmp-1's People

Contributors

duiying avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.