Skip to content

docker部署wordpress

前提条件,已经安装docker-compose环境了。

新建 mkdir -p /mnt/wordpress/wordpress-data,mkdir -p /mnt/wordpress/mysql-data 用来存放和挂载wordpress相关数据

/mnt/wordpress下新建 wordpress-compose.yaml来启动服务,写入如下的内容

shell
version: '3.8'

services:
  wordpress:
    image: wordpress:latest
    ports:
      - "6666:80" # 映射 WordPress 的 80 端口到主机的 6666 端口
    environment:
      WORDPRESS_DB_HOST: db:3306 # 指定 MySQL 数据库的主机和端口
      WORDPRESS_DB_USER: jack # 数据库用户
      WORDPRESS_DB_PASSWORD: jack # 数据库密码
      WORDPRESS_DB_NAME: wordpress
    depends_on:
      - db
    volumes:
      - ./wordpress-data:/var/www/html # 挂载 WordPress 数据目录到主机

  db:
    image: mysql:5.7
    ports:
      - "3206:3306" # 映射 MySQL 的 3306 端口到主机的 3206 端口
    environment:
      MYSQL_ROOT_PASSWORD: jack # 数据库根密码
      MYSQL_DATABASE: wordpress # 默认数据库
      MYSQL_USER: jack # 数据库用户
      MYSQL_PASSWORD: jack # 数据库密码
    volumes:
      - ./my.cnf:/etc/mysql/conf.d/my.cnf # 挂载自定义配置文件
      - ./mysql-data:/var/lib/mysql # 挂载 MySQL 数据目录到主机
    deploy:
      resources:
        limits:
          memory: 512M # 根据需要调整内存限制

执行脚本

shell
cd /mnt/wordpress
## 启动脚本
docker-compose -f wordpress-compose.yaml up -d

访问服务

在浏览器使用ip:6666访问前台页面,或者使用nginx转发服务,使用域名来访问你自己的前台即可

shell
server {    
		listen 80;
    server_name  blog.jack.com;
    location / {
        proxy_pass         http://0.0.0.0:6666;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   User-Agent $http_user_agent;
    }
}