docker compose搭建博客wordpress

一、前言

docker安装等入门知识见我之前的这篇文章

https://blog.csdn.net/m0_73118788/article/details/146986119?fromshare=blogdetail&sharetype=blogdetail&sharerId=146986119&sharerefer=PC&sharesource=m0_73118788&sharefrom=from_link

1.1 docker compose介绍

Docker Compose 是 Docker 官方提供的一个工具,它可以帮助你定义和运行多个 Docker 容器的应用。他有如下几个用途:

  • 多容器应用编排:在实际开发和生产环境中,一个应用往往由多个微服务组成,每个微服务可能运行在独立的 Docker 容器中。例如,一个 Web应用可能包含 Web 服务器容器、数据库容器、缓存容器等。Docker Compose允许你在一个文件中定义这些容器及其依赖关系,然后通过一条命令将它们一次性启动、停止或重新部署。
  • 开发环境搭建:开发人员可以使用 Docker Compose快速搭建一个与生产环境一致的开发环境。通过定义各个服务的镜像、端口映射、环境变量等配置,确保开发团队成员的环境一致性,减少因环境差异导致的问题。
  • 测试环境部署:在进行集成测试或端到端测试时,需要同时启动多个相关的容器。Docker Compose可以方便地管理这些容器的启动和停止,为测试提供一个稳定的环境。

1.2 docker compose用法初探

#批量上线
docker compose up -d
#批量下线
docker compose down
#启动
docker compose start x1 x2
#停止
docker compose stop x1 x2
#扩容
docker compose scale x2=3

以下是对这三条 Docker Compose 命令的详细解释:

docker compose up -d

功能概述

该命令的主要作用是根据 docker-compose.yml 文件的配置,创建并启动所有定义的服务容器。

参数解释
  • up:这是 Docker Compose 的一个子命令,其功能是创建并启动服务。
  • -d:即 --detach,它让容器以分离模式在后台运行。这样做的好处是,容器启动后不会将日志信息输出到当前终端,而是返回容器的 ID,方便用户继续在终端执行其他操作。
使用示例

假设你的 docker-compose.yml 文件定义了一个 Web 服务和一个数据库服务,当你在该文件所在目录下执行 docker compose up -d 时,Docker Compose 会自动拉取所需的镜像(如果本地不存在),然后创建并启动这两个服务的容器,使它们在后台运行。

docker compose down

功能概述

此命令用于停止并删除由 docker compose up 创建的容器、网络和(可选的)卷。

详细解释

当你执行 docker compose down 时,Docker Compose 会按以下步骤操作:

  1. 停止正在运行的所有服务容器。
  2. 删除这些容器。
  3. 删除 docker-compose.yml 文件中定义的网络。
  4. 若使用了 --volumes 选项,还会删除定义的命名卷。
使用示例

当你完成测试或不再需要这些容器时,在 docker-compose.yml 文件所在目录下执行 docker compose down,可以快速清理环境,释放系统资源。

docker compose start x1 x2

功能概述

该命令用于启动已经停止的服务容器。x1x2 是你在 docker-compose.yml 文件中定义的服务名称,你可以指定一个或多个服务名称,用空格分隔。

详细解释
  • start:是 Docker Compose 的子命令,用于启动指定的服务。
  • x1 x2:代表你要启动的服务名称。
使用示例

假设你的 docker-compose.yml 文件定义了多个服务,如 webdbcache 等。当你执行 docker compose stop web db 停止了 webdb 服务后,后续可以通过 docker compose start web db 重新启动这两个服务。

总结来说,docker compose up -d 用于启动整个应用栈,docker compose down 用于清理环境,docker compose start 则用于启动已停止的特定服务。

docker compose stop x1 x2

功能概述

该命令的主要功能是停止 docker-compose.yml 文件中指定的服务容器。这里的 x1x2 代表在 docker-compose.yml 文件里定义的服务名称,你能够指定一个或多个服务名称,以空格分隔。

参数解释
  • stop:属于 Docker Compose 的子命令,其作用是停止正在运行的服务容器。
  • x1 x2:指的是要停止的服务名称。
使用示例

假设你的 docker-compose.yml 文件定义了多个服务,像 webdbcache 等。当你执行 docker compose stop web db 时,Docker Compose 会找到 webdb 对应的容器,并且停止它们的运行。不过,这些容器只是被停止,并没有被删除,之后你可以使用 docker compose start web db 再次启动它们。

docker compose scale x2=3

功能概述

此命令用于调整指定服务的容器数量。x2 是在 docker-compose.yml 文件中定义的服务名称,3 表示要将该服务的容器数量扩展或收缩到 3 个。

参数解释
  • scale:是 Docker Compose 的子命令,其用途是调整服务的容器数量。
  • x2=3:其中 x2 为服务名称,3 是期望的容器数量。如果当前 x2 服务的容器数量小于 3,Docker Compose 会创建新的容器以达到 3 个;若当前容器数量大于 3,Docker Compose 会停止并删除多余的容器,使容器数量变为 3 个。
使用示例

假设在 docker-compose.yml 文件中定义了一个 worker 服务,最初只启动了 1 个容器。当你执行 docker compose scale worker=3 时,Docker Compose 会再创建 2 个 worker 服务的容器,让 worker 服务的容器总数达到 3 个。这在需要根据负载情况动态调整服务规模时非常有用。

二、做法

工程过程

1. 创建yaml文件
准备yaml文件内容

name: myblog
services:mysql:container_name: mysqlimage: mysql:8.0ports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_DATABASE=wordpressvolumes:- mysql-data:/var/lib/mysql- /app/myconf:/etc/mysql/conf.drestart: alwaysnetworks:- blogwordpress:image: wordpressports:- "8080:80"environment:WORDPRESS_DB_HOST: mysqlWORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: 123456WORDPRESS_DB_NAME: wordpressvolumes:- wordpress:/var/www/htmlrestart: alwaysnetworks:- blogdepends_on:- mysqlvolumes:mysql-data:wordpress:networks:blog:                                                                                                                                                                                                                                                    

命令:

vim compose

然后页面有跳转,按i则页面进入insert模式,粘贴上面的yaml文件内容,按Esc退出编辑,按:wq保存并返回命令行
在这里插入图片描述
2. 执行yaml文件

docker compose -f 文件名.yaml up -d

在这里插入图片描述
命令行查看
在这里插入图片描述
在这里插入图片描述
3. 完成验收
访问网站8080端口即可
在这里插入图片描述

三、原始方法

此是没有compose的方法,如果你只想搭建博客wordpress或学习compose,完全可以忽略该章节
命令如下

docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=wordpress \
-v mysql-data:/var/lib/mysql \
-v /app/myconf:/etc/mysql/conf.d \
--restart always --name mysql \
--network blog\
mysql:8.0docker run -d -p 8080:80
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=123456 \
-e WORDPRESS_DB_NAME=wordpress \
-v wordpress:/var/www/html \
--restart always --name wordpress-app \
--network blog\
wordpress:latest

架构图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第二期:[特殊字符] 深入理解MyBatis[特殊字符]MyBatis基础CRUD操作详解[特殊字符]

前言 🌟 在掌握了 MyBatis 的基本配置与环境搭建之后,接下来的重点便是深入理解其核心功能——CRUD 操作(增删改查)。💻 数据库操作是任何应用开发中不可或缺的一环,而 MyBatis 正是通过灵活的 SQL 映射机…

Java面试黄金宝典46

1. Python 如何写爬虫 定义:Python 爬虫是借助 Python 语言编写程序,模拟浏览器行为向目标网站发送 HTTP 请求,获取网页内容,再通过解析工具提取所需数据的程序。其本质是自动化的数据采集过程。要点: 发送请求:利用requests库发送 HTTP 请求,如 GET、POST 等,获取网页…

建设“大数据智慧招商平台”,助力园区突破招商瓶颈!

在数字经济高速发展的今天,传统招商模式正面临信息不对称、效率低下、匹配不精准等瓶颈。产业园区作为区域经济发展的核心载体,亟需借助智能化手段提升招商效能。构建大数据智慧招商平台,利用大数据、人工智能等技术获取精准招商线索、促进产…

Vue事件修饰符课堂练习

Vue事件修饰符课堂练习 题目‌:基于 Vue 2.0,使用事件修饰符 .stop、.prevent、.capture、.self 和 .once,为按钮绑定 click 事件,并展示每个修饰符的作用。 要求‌: 创建一个 Vue 实例,并绑定到一个 HT…

【C#】线程回调

在 C# 中,线程回调是一种常见的编程模式,用于在线程完成任务后执行某些操作。通过使用 Thread 类或其他更高层次的并发工具(如 Task),可以实现线程回调的功能。 回调机制 特点 直接性:回调通常是通过委托…

【C++游戏引擎开发】第14篇:视图空间与相机坐标系

一、视图空间的基础数学框架 1.1 齐次坐标与变换矩阵 三维坐标系变换采用44齐次坐标矩阵,其通用形式为: M = [ A 3 3 b 3 1 0 1 3 1 ] \mathbf{M} = \begin{bmatrix} \mathbf{A}_{33} & \mathbf{b}_{31} \\ \mathbf{0}_{13} & 1 \end{bmatrix} M=[A33​013​​…

【大模型理论篇】关于生成式模型中联合分布概率学习必要性以及GPT是生成式模型的讨论

1. 背景 之前我们在《生成式模型与判别式模型对比(涉及VAE、CRF的数学原理详述)》以及《生成式模型算法原理深入浅出(涉及Stable Diffusion、生成对抗网络、高斯混合模型、隐马尔可夫模型、朴素贝叶斯等算法原理分析及生成式模型解释)》中,我…

DIP支付方式改革下各种疾病医疗费用的影响以及分析方法研究综述

DIP支付方式改革下各种疾病医疗费用的影响以及分析方法研究综述 摘要 本文综述了DIP支付方式改革对不同疾病医疗费用的影响及其分析方法,通过分析12篇相关文献,探讨了DIP支付方式在控制医疗费用、优化费用结构、提升医疗服务效率等方面的作用及其局限性…

嵌入式硬件篇---单片机周期

文章目录 前言 前言 在单片机中,时序控制是其执行指令和协调外设的核心基础。以下是单片机中常见的各种周期及其详细说明,以层次结构展开: 时钟周期(Clock Cycle) 定义: 时钟周期是单片机的最小时间单位&a…

游戏引擎学习第221天:(实现多层次过场动画)

资产: intro_art.hha 已发布 在下载页面,你会看到一个新的艺术包。你将需要这个艺术包来进行接下来的开发工作。这个艺术包是由一位艺术家精心制作并打包成我们设计的格式,旨在将这些艺术资源直接应用到游戏中。它包含了许多我们会在接下来的直播中使用…

【3GPP核心网】【5G】精讲5G系统的策略和计费控制框架

1. 欢迎大家订阅和关注,精讲3GPP通信协议(2G/3G/4G/5G/IMS)知识点,专栏会持续更新中.....敬请期待! 目录 1. 系统架构 1.1 非漫游架构 1.2 漫游架构 1.3 支持Rx接口 2. 服务化接口及参考点 2.1 PCF 与 AF 间接口 2.2 PCF与SMF间接口 2.3 PCF与AMF间接口 2.4 V-PC…

榕壹云门店管理系统:基于Spring Boot+Mysql+UniApp的智慧解决方案

项目背景:数字化赋能服务行业,破解传统门店管理痛点 在消费升级与数字化转型浪潮下,传统服务行业(如美容、美发、美甲、采耳等)面临诸多管理挑战:会员流失率高、预约排班混乱、员工绩效统计低效、数据孤岛等…

开发效率提升200%——cursor

cursor带来的编程"革命" 高级语言编程转为"自然语言编程"借助cursor,直接超越初级后台开发、超越初级前端开发、超越初级测试、超越初级UI,产研一体linux命令只用学不用记,语言描述就是命令给一个表结构流程提示词&…

UE4 踩坑记录

1、Using git status to determine working set for adaptive non-unity build 我删除了一个没用的资源,结果就报这个错,原因就是这条命令导致的, 如果这个项目是git项目, ue编译时会优先通过 git status检查哪些文件被修改&#…

蓝桥杯 2025 C++组 省 B 题解

可分解的正整数 算法&#xff1a;思维 因为可以有负数 所以除了1以外的任何数都可以构造 当这个数为x构造方法为 -(x-1) -(x-2) -(x-3) ....-1 0 1...x-3 x-2 x-1 x 除了x&#xff0c;x以前的数都会被负数抵消 #include <bits/stdc.h> #define ll long long ll a…

docker创建容器添加启动--restart选项

一、通过 Docker 命令直接修改已启动的容器&#xff08;推荐-已验证&#xff09; 操作步骤&#xff1a; 1.执行更新命令&#xff1a; docker update --restartalways <容器名或ID>此命令会将容器的重启策略调整为 always&#xff08;无论容器以何种状态退出&#xff0…

redission锁释放失败处理

redission锁释放失败处理 https://www.jianshu.com/p/055ae798547a 就是可以删除 锁的key 这样锁就释放了&#xff0c;但是 还是要结合业务&#xff0c;这种是 非正规的处理方式&#xff0c;还是要在代码层面进行处理。

【语音识别】vLLM 部署 Whisper 语音识别模型指南

目录 1. 模型下载 2. 环境安装 3. 部署脚本 4. 服务测试 语音识别技术在现代人工智能应用中扮演着重要角色&#xff0c;OpenAI开源的Whisper模型以其出色的识别准确率和多语言支持能力成为当前最先进的语音识别解决方案之一。本文将详细介绍如何使用vLLM&#xff08;一个高…

Windows Server 2019 安装 Docker 完整指南

博主本人使用的是离线安装 1. 安装前准备 系统要求 操作系统&#xff1a;Windows Server 2019&#xff08;或 2016/2022&#xff09;权限&#xff1a;管理员权限的 PowerShell网络&#xff1a;可访问互联网&#xff08;或离线安装包&#xff09; 启用容器功能 Install-Win…

C# 混淆代码工具--ConfuserEx功能与使用指南

目录 1 前言1.1 可能带来的问题 2 ConfuserEx2.1 简介2.2 功能特点2.3 基本使用方法2.4 集成到MSBuild2.5 深入设置2.5.1 保护机制2.5.1.1 ConfuserEx Protection 2.5.2 精细的代码保护主要特性1. decl-type(string)2.full-name(string)3. is-public()4. match(string)5. match…