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

相关推荐
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS5 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站5 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏5 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
玉&心5 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing5 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅5 天前
linux(8) 软硬链接
linux·运维·服务器
赵文宇(温玉)5 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang5 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren5 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github