一、项目背景(企业真实场景)

项目名称:XX科技有限公司 官方网站搭建
环境:阿里云ECS(Ubuntu 22.04 LTS)
业务需求

架构方案

ECS(Ubuntu22.04)+ Docker + Docker Compose
→ MySQL 8.0(数据库)
→ WordPress(Web服务)
→ 自定义网桥、数据持久化、自启动、安全密码


二、服务器信息(企业真实格式)


三、实施步骤(企业标准操作流程 SOP)

步骤1:登录服务器,系统初始化(企业必做)

sudo apt update
sudo apt upgrade -y

作用:更新系统源、安全补丁,保证生产环境稳定。

步骤2:安装官方 Docker(企业不使用自带旧版docker.io)

curl -fsSL https://get.docker.com | sudo bash

设置开机自启、启动服务:

sudo systemctl enable docker
sudo systemctl start docker

检查:

docker --version

步骤3:安装 Docker Compose Plugin(企业v2版本)

sudo apt install docker-compose-plugin -y

检查:

docker compose version

步骤4:创建企业规范目录(生产必须标准化)

企业不会随便乱放文件,统一路径:

sudo mkdir -p /data/project/wordpress
cd /data/project/wordpress

目录规划:


步骤5:编写生产级 compose.yaml(核心交付件)

sudo nano compose.yaml

企业正式配置(完全可上线)

version: '3.8'

services:
  mysql:
    image: mysql:8.0
    container_name: wp-mysql
    restart: always
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: Root@2026#xx
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: Wp@2026#xx
    networks:
      - wp_network
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

  wordpress:
    image: wordpress:latest
    container_name: wp-web
    restart: always
    depends_on:
      - mysql
    ports:
      - "80:80"
    volumes:
      - ./html:/var/www/html
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: Wp@2026#xx
      WORDPRESS_DB_NAME: wordpress
    networks:
      - wp_network
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

networks:
  wp_network:
    driver: bridge

企业级要点解释(非常重要,可写进报告)

  1. MySQL 8.0:企业生产标准,不再使用5.7
  2. restart: always:故障自动恢复,生产高可用
  3. 自定义网桥 wp_network:容器间安全隔离通信
  4. 普通用户 wp_user:禁止程序用root连接数据库(安全规范)
  5. 强密码:企业密码策略(大小写+数字+符号)
  6. volumes 持久化:数据落地宿主机,容器删除数据不丢
  7. 日志限制:防止日志占满磁盘(生产必备)

步骤6:启动服务(企业标准部署命令)

sudo docker compose up -d

输出类似:

Pulling mysql ... done
Pulling wordpress ... done
Creating wp-mysql ... done
Creating wp-web   ... done

解释

查看运行状态:

sudo docker compose ps

显示如下即为企业环境正常上线

NAME      STATUS  PORTS
wp-mysql  Up      3306/tcp
wp-web    Up      0.0.0.0:80->80/tcp

步骤7:阿里云安全组配置(企业必须操作)

开放 80 端口,否则外网无法访问:

这是企业上线必备的网络策略


步骤8:Web 初始化安装(企业上线流程)

浏览器访问:

http://120.xx.xx.xx

按照企业规范设置:

安装完成 → 进入后台:

http://IP/wp-admin

四、企业运维规范(必写案例内容)

1. 日常管理

docker compose stop      # 停止
docker compose start     # 启动
docker compose restart   # 重启
docker compose down      # 销毁容器(数据不删)
docker compose up -d     # 重新启动

2. 数据库备份(企业每日必备)

docker exec wp-mysql mysqldump -uwp_user -p'Wp@2026#xx' wordpress > backup_$(date +%Y%m%d).sql

3. 日志查看

docker compose logs -f