基于 Docker 部署 WordPress 博客应用

基于 Docker 部署 WordPress 博客应用

一、安装ubantu

https://zhuanlan.zhihu.com/p/355314438

二、ubantu安装docker

ubuntu 20.04 LTS 安装docker - 二所 - 博客园 (cnblogs.com)

三、安装docker compose

(一)下载 docker-compose程序包:

curl -L https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

(二)添加可执行权限:

sudo chmod +x /usr/local/bin/docker-compose

(三)检查安装结果:

# 命令
sudo docker-compose -v

# 结果
root@hecs-398409:~# docker-compose -v
docker-compose version 1.28.5, build c4eb3a1f

四、docker拉取WordPress镜像和mysql镜像

Docker实战:Docker安装WordPress,快速搭建自己的博客https://www.zhihu.com/tardis/zm/art/571679308?source_id=1005

五、编写DockerFile

# 基于官方的 WordPress 镜像
FROM wordpress:latest

# 安装必要的插件或配置

# 可以添加自定义的 WordPress 插件、主题或其他定制配置

# 基于官方的 MySQL 镜像
FROM mysql:latest

# 设置 MySQL 相关的环境变量
ENV MYSQL_ROOT_PASSWORD=root_password
ENV MYSQL_DATABASE=wordpress
ENV MYSQL_USER=wp_user
ENV MYSQL_PASSWORD=wp_password

# 添加初始化数据库的脚本
COPY init.sql /docker-entrypoint-initdb.d/init.sql

测试运行两个镜像,容器启动成功
image.png

六、编写Docker-compose.yaml

version: '3'
services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8000:80"  # 将容器的 80 端口映射到宿主机的 8000 端口
    volumes:
      - wordpress_data:/var/www/html/wp-content
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: wp_password
    depends_on:
      - db
    networks:
      - my_network

  db:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: wp_password
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - my_network

volumes:
  wordpress_data:
  db_data:

networks:
  my_network:

(一)docker-compose文件解释:

这个 Docker Compose 文件定义了两个服务:wordpress 和 db,分别用于运行 WordPress 应用和 MySQL 数据库。下面是对这个 Docker Compose 文件的简要介绍:

  1. 服务 wordpress:
    • 使用 wordpress:latest 镜像作为基础镜像。
    • 将容器的 80 端口映射到宿主机的 8000 端口,可以通过访问 http://localhost:8000 来访问 WordPress 应用。
    • 将 WordPress 数据目录 /var/www/html/wp-content 映射到名为 wordpress_data 的卷中,以便持久化存储 WordPress 数据。
    • 定义了一些环境变量,包括数据库主机、数据库名称、数据库用户和密码,供 WordPress 应用连接数据库使用。
    • 依赖于 db 服务,即在启动 wordpress 服务之前会先启动 db 服务。
    • 将 wordpress 服务连接到名为 my_network 的自定义网络中。
  2. 服务 db:
    • 使用 mysql:latest 镜像作为基础镜像。
    • 设置了 MySQL 的 root 用户密码、数据库名称、普通用户和密码等环境变量。
    • 将 MySQL 数据目录 /var/lib/mysql 映射到名为 db_data 的卷中,以便持久化存储数据库数据。
    • 将 db 服务连接到名为 my_network 的自定义网络中。
  3. 定义了两个卷 wordpress_data 和 db_data,用于持久化存储 WordPress 数据和 MySQL 数据。
  4. 定义了一个名为 my_network 的自定义网络,用于连接 wordpress 和 db 服务。

这个 Docker Compose 文件配置了一个简单的 WordPress 应用和 MySQL 数据库的部署,通过定义两个服务、卷和自定义网络,实现了它们之间的连接和数据持久化。通过运行 docker-compose up 命令,可以启动这两个服务并搭建一个运行 WordPress 应用的环境。

(二)使用docker-compose运行

docker compose up -d

运行成功
image.png

七、访问博客

(一)访问 虚拟机ip:8000 ,即可进入主页

http://192.168.6.220:8000/

选择简体中文

image.png

注册登录账号,输入网站信息

image.png

登陆系统

image.png

进入后台,后台可进行主题和页面的设置

image.png

(二)访问ttp://192.168.6.220:8000/ 进入主页

image.png

(三)点击左上角进入管理后台,可进行主题页面自定义

或者进入http://192.168.6.220:8000/wp-admin/

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值