欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > docker compose搭建博客wordpress

docker compose搭建博客wordpress

2025/4/19 16:35:08 来源:https://blog.csdn.net/m0_73118788/article/details/147127497  浏览:    关键词: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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词