当前位置: 首页 > news >正文

实用指南:Docker Compose高手实践之路:简单拓扑、数据库代理、基于WordPress的个人博客站点一键搞定!

文章目录

  • 本篇摘要
  • 一.基于yml配置文件实现便捷拓扑
  • 二.基于nginx建立代理访问mysql测试
  • 三.基于docker compose 做完WordPress部署个人博客站点
  • 四.基于`docker compose`常见问题
  • 五.本篇小结

在这里插入图片描述

本篇摘要

本文围绕Docker Compose展开,依次介绍基于yml配置实现简单拓扑、Nginx代理访问MySQL测试、WordPress部署个人博客站点,涵盖配置、部署、问题处理及原理,展示容器化应用高效部署与管理方法。

一.基于yml配置文件实现便捷拓扑

下面将按照这个结构实现对应的拓扑结构,基于存储卷,网络等作用:

在这里插入图片描述

去对应目录创建yml文件:

在这里插入图片描述

解释下配置信息内容:

1. Web 服务 (Nginx)

2. MySQL 服务

3. Redis 服务

4. 网络 (net1)

下面检查下是否有问题:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下面访问下nginx:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二.基于nginx搭建代理访问mysql测试

在这里插入图片描述

  • 因此行看出对应的依赖关系是mysql依赖系统服务依赖nginx。

进行sql编写:

在这里插入图片描述
在这里插入图片描述

进入java环境部署工程:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进行访问对应端口:

在这里插入图片描述

运行项目:

在这里插入图片描述

在这里插入图片描述

docker compose 编写:

在这里插入图片描述

介绍下:

三个服务:

  1. web- Nginx网页服务器
  • 端口:8765(对外)->80(容器内)
  • 配置:本地nginxconf文件夹->容器配置目录
  • 依赖:后端服务启动后才会启动
  1. backend- 后端应用
  • 代码:本地app文件夹->容器应用目录
  • 依赖:数据库健康后才启动
  1. mysql - 数据库
  • 密码:root
  • 数据持久化:本地mysql文件夹保存数据
  • 健康检查:自动检测数据库是否正常

启动顺序:
数据库->后端->前端

然后把创建对应目录把jar包传进来,运行yml资料:

在这里插入图片描述

  • 没有问题启动成功。

在这里插入图片描述

  • 反向代理初始化。

在这里插入图片描述

  • 启动成功。

在这里插入图片描述

  • 清理完后 绑定卷都存在。

三.基于docker compose 搞定WordPress部署个人博客站点

下面将介绍使用 Docker Compose 这个容器编排工具,快速部署一个包含 ​​WordPress​​(博客程序)和 ​​MySQL​​(数据库)的完整个人博客站点。您无需在服务器上复杂地安装和配置各种软件,只需一个命令即可启动所有服务。

介绍下本次测试核心组件的作用:

1. WordPress:

2. MySQL:

3. Docker Compose

总结而言,Docker Compose 将 WordPress 和 MySQL 这两个组件优雅地编织在一起,无需成为运维专家,就能轻松拥有一个高性能、易维护、且数据安全有保障的现代化博客部署方案。

下面讲下如何进行部署:

首先去docker hub 找到对应的镜像:

在这里插入图片描述

往下翻有个概览教你如何编写yml文档:

在这里插入图片描述

基于vscode进行yml编写:

在这里插入图片描述

1. 服务定义 (services:):

2. WordPress 服务 (wordpress:):

3. MySQL 数据库服务 (db:):

总结:

配置文件通过 Docker Compose 定义了一个完整、可靠、数据持久化的 WordPress 运行环境:

  1. 两个服务:Web应用 (WordPress) + 数据库 (MySQL)。
  2. 依赖管理:Web 应用会等待数据库完全启动后再启动。
  3. 数据持久化:网站文件和数据库数据都保存在主机上,安全可靠。
  4. 网络互通:两个容器通过 Compose 创建的内部网络自动连接

进行启动:

在这里插入图片描述

在这里插入图片描述

下面访问对应的ip+port:

在这里插入图片描述

下面进行注册:

在这里插入图片描述

进行登录:

在这里插入图片描述

来到对应主页:

在这里插入图片描述

下面可能进行博客编写:

在这里插入图片描述

点击发布即可:

在这里插入图片描述

然后可以设计自己喜欢的主题,然后修正下想要的页面布置进行博客展示,这里就草略展示下,访问对应的ip+port来映射访问对应的容器里内容:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结下:

通过从yml资料能够看出,首先先启动对于的msyql容器(默认为WordPress创建对应管理的库),然后WordPress启动后,就行拿着mysql容器为它设置的用户名及密码登录区访问对应的数据库,比如当访问对应网站生成的一些信息,就需要去这个数据库查找然后返回,最典型例子就是对应的博客发布(写入库),查看(从库对应位置读取出来),因此说两个容器是互相依赖的。

四.基于docker compose常见问题

  1. up, run, start 命令的区别
  • up核心命令。用于根据配置启动或重启整个服务栈。是开发时最常用的命令,可附加查看日志或后台运行。
  • run:用于执行一次性任务。仅为指定服务及其依赖创建临时容器,适用于运行测试或管理任务,提供交互式终端(比如某个yml有多个容器服务,只进行其中的一个容器测试就可以用)。
  • start:能力单一,仅用于重新启动已存在但处于停止状态的容器,不会创建任何新容器。
  1. 如何运行项目的多个副本
  • 通过 -p 参数或 COMPOSE_PROJECT_NAME环境变量来为每个副本(对应服务的容器)设置一个唯一的项目名称;源于 Compose 使用项目名称来标识和隔离资源,不同的名称可以确保在同一主机上运行多个副本而互不干扰(便捷来点就是一个docker compose只要在同一目录下的yml记录里的服务(如test-nginx-1默认在同一网络中,因此需要手动隔离,此时就可以用环境变量来改变对应目录名就是)都)。
  1. 如何控制服务启动顺序
  • 主要通过 depends_on配置来声明服务间的依赖关系;为了更精确地控制,允许配合healthcheck(健康检查)来确保所依赖的服务(如数据库)不仅已启动,而且已准备就绪后,再启动依赖它的服务(如应用)。

五.本篇小结

通过这三个实践案例,掌握用Docker Compose编排多容器应用,理解服务依赖、数据持久化、网络配置等要点,学会编写yml文件实现一键部署,解决容器启动、数据同步、访问等问题,提升容器化应用开发与运维能力。

http://www.jsqmd.com/news/149467/

相关文章:

  • 使用MLflow跟踪TensorFlow镜像中的训练实验结果
  • 岐金兰AI元人文构想:与社科网三篇文章的对话——从工具赋能到文明共生的范式跃迁
  • 科研革命新引擎:书匠策AI解锁期刊论文写作的“智能密码”
  • MouseEvent
  • 如何监控TensorFlow镜像中GPU利用率和温度状态
  • SQL 注入防护怎么做
  • 【Open-AutoGLM技术深度解密】:揭秘下一代自动化大模型推理引擎核心架构
  • 机器翻译系统搭建:基于TensorFlow镜像训练Seq2Seq模型
  • 2025年AI已经进化到“灵魂出窍“级别,编程变“感觉“,小白程序员再不学就晚了!
  • 2025年黑龙江大理石瓷砖一线品牌排行榜,新测评精选大理石瓷砖公司推荐 - 工业设备
  • 【AI开发新范式】Anthropic颠覆认知:停止制造“Agent动物园“,通用Agent+Skills才是王炸!
  • 教育科研用途:免费获取高性能TensorFlow镜像访问权限
  • 如何通过API远程提交TensorFlow镜像训练任务
  • TensorFlow镜像中的随机种子控制:保证实验可复现性
  • 提示词优化效率提升300%,Open-AutoGLM实战中的10个隐藏技巧
  • 算法工程师:AI算法、LLM开发、生成式人工智能面试题(2026通关指南)
  • 70款H5游戏整合小游戏平台网站源码
  • 郑州西点培训服务找哪家?新测评精选西点培训公司推荐 - 工业品网
  • 手把手教你部署Open-AutoGLM,阿里云环境下性能提升8倍的秘密
  • 还在手动写对话逻辑?Open-AutoGLM自动化方案全面曝光
  • 无药守护童年:小儿推拿热门品牌推荐,家长安心之选 - 速递信息
  • 【毕业设计】基于springboot的深圳市体育中心体育赛事管理(源码+文档+远程调试,全bao定制等)
  • 【专家亲授】Open-AutoGLM官方镜像源推荐(国内高速下载方案)
  • 代码写得再好,不懂知识管理也白搭!程序员必学的AI时代知识库构建术,告别“一本正经胡说八道“!
  • 从快手直播故障,看全景式业务监控势在必行!
  • 从入门到精通:Open-AutoGLM提示词优化的6个关键阶段
  • 城市轨道交通新线开通对既有线多维度影响研究——以客流、行车、设备及视频数据为视角
  • 如何记录和跟踪TensorFlow镜像中的超参数配置
  • 构建私有TensorFlow镜像:添加企业专属安全模块
  • TensorFlow镜像支持ONNX导入吗?互操作性深度解读