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 地址加上面指定的端口号就行啦!!!

相关推荐
Watink Cpper4 分钟前
Ubuntu24.04网络图标消失导致无法上网--排查得到原因:内核和驱动版本不匹配
运维·网络·linux内核·运维开发·debug·ubuntu24.04
牛奶咖啡1325 分钟前
Docker容器实践——使用Dockerfile构建docker镜像
docker·dockerfile·dockerfile是什么·dockerfile常见指令·dockerbuild工作原理·dockerfile构建镜像·dockerfile构建示例
ShineSpark25 分钟前
Ubuntu下SDL窗口偶发卡住问题深度分析
linux·运维·ubuntu
zhougl99627 分钟前
非root用户,链接ssh,并上传git
运维·git·ssh
@小博的博客29 分钟前
【Linux探索学习】进程的概念及详细解释和一些简单的相关操作
linux·运维·学习
月光下的麦克42 分钟前
Ubuntu 与 Windows 之间文件互传
linux·运维·ubuntu
爱学习的小囧1 小时前
ESXi 升级 8.0 后 Realtek 网卡无法识别解决教程
运维·网络·esxi·realtek 网卡
宇钶宇夕1 小时前
西门子S7-1200 OB1主程序构架-填料天车1
运维·自动化
wanhengidc1 小时前
服务器该如何防范网络攻击?
运维·服务器·网络·网络协议·安全·web安全·智能手机
源远流长jerry1 小时前
LVS 负载均衡完全指南:从入门到精通
运维·负载均衡·lvs