写在前面

这个网站我其实就是通过Wordpress搭建的,当初部署时候属实费劲,需要自己单独搭建数据库还需要部署PHP 7.4运行环境,最后要让Nginx加载PHP模块和好多依赖,不过现在已经可以通过容器部署还能规避很多坑

部署前准备

首先要拉取镜像,不过现在国内从Docker Hub拉取已经不行了,需要从其他镜像地址拉取,可以自己搜搜应该很多

#拉取MySQL和WordPress镜像
docker pull mysql:5.7 && docker pull wordpress

接着创建持久化目录

#创建目录
mkdir -p /data/wordpress/{web,database}

web目录用来存储网站持久化文件,database用来存储数据库持久化文件

然后创建compose.yaml文件

cat >>docker-compose.yml<<EOF
version: "3.8"
services:
  db:
    container_name: db_wordpress
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    volumes:
      - /data/wordpress/database:/var/lib/mysql
  wordpress:
    container_name: wordpress
    image: wordpress:latest
    ports:
      - 8000:80
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - /data/wordpress/web:/var/www/html
    depends_on:
      - db
EOF

文件内容都是一些常规配置,这里就不做多解释了

启动服务

镜像和compose文件都准备好就可以启动容器了

docker cmpose up -d 
#上面是docker cmpose 2.0 启动命令,如果是1.0要使用docker-cmpose up -d 命令

等容器都运行以后访问IP+8000端口就可以初始化WordPress,因为环境变量中有MySQL的相关配置,所以初始化过程中不再需要配置数据库信息

首先是选择语言

接着配置网站标题、管理员账户和密码就可以登陆并进入网站了,相对于传统搭建方式来说,容器部署方便非常多