Docker

首页 -  Docker  -  docker-comoser 搭建LNMP开发环境

docker-comoser 搭建LNMP开发环境

docker-comoser 搭建LNMP开发环境



清单

  • PHP 7.2

  • Nginx

  • MySQL 5.6

  • Redis

  • phpMyAdmin

  • phpRedisAdmin 

目录结构

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 和 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://pan.baidu.com/s/1g6RPtpe7S3eCyhNPiN_Gug 
提取码:13lx 
# 进入目录
cd Docker-LNMP
# 容器编排(使用加速版,推荐,耗时约 10 分钟)
docker-compose -f docker-compose-fast.yml up -d

测试

执行成功

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

在www目录下新建一个文件index.php 输出点信息访问ip就能看到信息就说明ok了

可能遇到的问题

# 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 rm -f $(docker ps -aq)  
# 删除所有镜像
docker rmi $(docker images -q)


#查看是否已安装docker列表
yum list installed | grep docker
#安装docker
yum -y install docker
#检查docker 是否启动
ps -ef | grep docker
#启动docker
sudo systemctl start docker
#设置docker开启自起
systemctl enable docker.service
#查看docker是否设置开机启动
systemctl list-unit-files | grep enable
#查看Linux的系统服务
systemctl list-unit-files
#查看防火墙的状态的命令 
sudo systemctl status firewalld
#关闭防火墙 
sudo systemctl stop firewalld 
#开启防火墙
sudo systemctl start firewalld


(0)
分享:

本文由:xiaoshu168.com 作者:xiaoshu发表,转载请注明来源!

标签:

相关阅读