docker 学习-- 04 实践2 (lnpmr环境)

docker 学习 系列文章目录

docker 学习-- 01 基础知识

docker 学习-- 02 常用命令

docker 学习-- 03 环境安装

docker 学习-- 04 实践 1(宝塔)

docker 学习-- 04 实践 2 (lnpmr环境)


``

文章目录

  • [docker 学习 系列文章目录](#docker 学习 系列文章目录)
  • [1. 配置docker-compose 文件](#1. 配置docker-compose 文件)

1. 配置docker-compose 文件

1.2.先介绍一下这个环境

通过上边的我们可以很轻易的搭建起来一个宝塔 但这种方式没法在一个项目中使用 我想把一个项目放到一个文件件下 直接使用编排文件运行起来项目
于是我在码云 寻找了一个基础模版 在此基础上去做修改

git 地址如下 git clone https://gitee.com/buwangyun_bw/ldnmp

这是他的目录结构

bash 复制代码
/
├── conf                    配置文件目录
│   ├── conf.d              Nginx用户站点配置目录
│   ├── nginx.conf          Nginx默认配置文件
│   ├── mysql.cnf           MySQL用户配置文件
│   ├── php-fpm.conf        PHP-FPM配置文件(部分会覆盖php.ini配置)
│   └── php.ini             PHP默认配置文件
├── Dockerfile              PHP镜像构建文件
├── extensions              PHP扩展源码包
├── log                     Nginx日志目录
├── mysql                   MySQL数据目录
├── www                     PHP代码目录
├── docker-compose.yml      编排文件
└── source.list             Debian源文件

我在Dockerfile 文件 和 docker-compose.yml 做了修改 具体不在此展示 文章结尾我会放一个修改后的链接

bash 复制代码
php7.2 php5.6 php5.4 三个版本
mysql8 和mysql5.7 
redis5.0.3 
nginx 1.15.7  
phpMyAdmin
redisMyAdmin

这里环境 我们没必要全部跑起来只需要跑自己需要的

推荐命令

这里就直接跑了 php72 mysql8 redis 和nginx 常规项目已经够用了

如果需要安装其他扩展 请看文章最后

bash 复制代码
docker-compose up -d php72  mysql8 redis nginx 

1.2. 运行这个环境

下载完我们直接 进入 目录

复制两份文件

bash 复制代码
cp env.sample .env   # Windows系统请用copy命令,或者用编辑器打开后另存为.env
# copy env.sample .env

这里我们要注意一下 映射的端口 把这些我们需要的端口 都修改一下 线上的记得开对应的防火墙 或 安全组

修改完 之后执行

bash 复制代码
docker-compose up -d php72  mysql redis nginx 

执行完就是这个样子 后边 running 这个样子才是运行起来的

1.接着我们修改一下nginx 访问路径 win系统 下可以自己点击后边三个点 选择 view details 选择 files 找到 /etc/nginx/conf.d/localhost.conf


  1. 修改第五行 root /var/www/html/html/public/ 这里是模拟放了一个tp项目
  1. 也可以通过命令行去修改
bash 复制代码
#查看 运行的容器 如图3.1
docker ps  
#进入容器 运行的容器 
//exec 是在容器中打开新的终端,并且可以启动新的进程。用exit退出,不会导致容器的停止。
//attach 直接进入容器启动命令的终端,不会启动新的进程。用exit退出,会导致容器的停止。
docker exec -it 容器ID/容器名称 bashShell
docker attach 容器ID
 
ls -a 查看目录
cd  /etc/nginx/conf.d/
vim localhost.conf

3.1图

修改完记得重启 nginx

bash 复制代码
docker exec -it dnmp_nginx_1 nginx -s reload
相关推荐
Engineer邓祥浩8 分钟前
JVM学习笔记(9) 第三部分 虚拟机执行子系统 第8章 虚拟机字节码执行引擎
jvm·笔记·学习
xuhaoyu_cpp_java12 分钟前
MySql学习(三)
经验分享·笔记·学习·mysql
鱼鳞_14 分钟前
Java学习笔记_Day31(IO流)
java·笔记·学习
red_redemption18 分钟前
自由学习记录(162)
学习
Warren9823 分钟前
Windows本地部署n8n完整教程(基于Docker,新手友好)
运维·windows·python·测试工具·docker·容器·可用性测试
马士兵教育39 分钟前
AI工作岗位的就业分层?
开发语言·人工智能·学习·面试·职场和发展
weixin_443478511 小时前
Flutter学习之第三方组件:视频播放器控件
学习·flutter·音视频
徒 花1 小时前
HCIP学习16 RIP 与 OSPF 路由重分布综合实验
网络·学习·智能路由器·hcip·ensp
landuochong2001 小时前
智能体闭环进展:从学习、记忆、决策到执行
人工智能·学习·claudecode
map1e_zjc1 小时前
Java SpringBoot学习记录(4)
java·开发语言·学习