Docker 部署 WordPress 并完成建站

什么是 WordPress

WordPress 是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP 语言和 MySQL 数据库开发的,用户可以在支持 PHP 和 MySQL 数据库的服务器上使用自己的博客。WordPress 有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应

用 HTML 代码、CSS、PHP 等相关知识。WordPress 官方支持中文版,同时有爱好者开发的第三方中文语言包,如 wopus 中文语言包。WordPress 拥有成千上万个各式插件和不计其数的主题模板样式。

下载 docker

这里以 centos 7 云服务器为例 演示如何安装 docker,及其相关插件。如:容器编排插件,镜像制作插件。

  1. 配置仓库

    bash 复制代码
    sudo yum install -y yum-utils
    bash 复制代码
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  2. 使用国内镜像源下载 docker

    bash 复制代码
    sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g' /etc/yum.repos.d/docker-ce.repo
  3. 下载 docker 及其相关插件

    bash 复制代码
    sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. 启动 docker

    bash 复制代码
    sudo systemctl daemon-reload
    bash 复制代码
    sudo systemctl start docker
  5. 检查 docker 是否启动

    bash 复制代码
    systemctl status docker 

如果是下面这样就是安装完成啦!!

Docker 镜像源修改

添加配置文件

bash 复制代码
vim /etc/docker/daemon.json

将下面的内容拷贝到 daemon.json

bash 复制代码
{
 "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/", "https://hub-mirrior.c.163.com"]
}

重启 docker

bash 复制代码
systemctl restart docker

拉取 wordpress 镜像

bash 复制代码
docker pull wordpress:php8.3

拉取 MySQL 镜像

bash 复制代码
docker pull mysql:5.7

编写 compose 文件

  • 首先我们创建一个目录:

    bash 复制代码
    mkdir test_wordpress
  • 在这个目录下创建一个 docker-compose.yaml 文件,将下面的内容赋值进去,文件名无所谓!!
    这里面的 ports 很重要,需要根据你的实际情况来填写。

bash 复制代码
version: '3.8'
services:
  wordpress:
    depends_on:
      db:
        condition: service_healthy
    image: wordpress:php8.3
    ports:
      - "9999:80" # 指定端口映射,外部你想使用那个端口访问,我这里是 9999 
    volumes:
      - ./wordpress:/var/www/html
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
  db:
    image: mysql:5.7
    volumes:
      - ./db_data:/var/lib/mysql
    # 设置环境变量, environment 的值可以覆盖 env_file 的值
    environment:
      MYSQL_ROOT_PASSWORD: mywordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    healthcheck:
      test: mysql --user=root --password='mywordpress' -e "SELECT 1;"
      interval: 10s
      timeout: 5s
      retries: 10

最后输入命令:

bash 复制代码
docker compose up -d

访问 IP 地址加上面指定的端口号就行啦!!!

相关推荐
见闻小天地1 分钟前
空调机房赛莱默B&G冷冻泵/冷却泵的核心技术特性分析
大数据·运维·数据库
microxiaoxiao5 分钟前
MobaXterm vs Aeroshell
linux·运维·ssh
Pocker_Spades_A35 分钟前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
晴天的雨.99238 分钟前
【Linux】Shell 命令以及运行原理+权限管理
linux·运维·服务器
djjjx.43 分钟前
Linux工具篇 (六):GDB 调试从底层逻辑到高阶实战
linux·运维·服务器·gdb
IT大白鼠1 小时前
彭大帅的AI运维助手实战案例 5 · 新接手的服务器,先让 AI 摸底
运维·服务器·人工智能
该逃避避2 小时前
出海广告跑不起来怎么办?动态住宅IP助力广告跑量
运维·服务器·网络
一条泥憨鱼2 小时前
【从0开始学习计算机网络】| ip协议-ttl-标识-分片偏移-ip分片与重组
运维·服务器·网络
爱吃香菜的初学者3 小时前
十四.Linux——消息队列
linux·运维·开发语言
Lvan的前端笔记10 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker