Docker 部署 MySQL 8.0 与 Redis(含 RediSearch)操作手册¶
一、MySQL 8.0 容器部署与管理¶
1.1 拉取 MySQL 8.0 镜像¶
执行以下命令从 Docker Hub 拉取官方 MySQL 8.0 镜像:
| Bash | |
|---|---|
1 | |
1.2 创建并启动 MySQL 8.0 容器¶
通过以下命令创建容器并后台启动,同时配置端口映射、root 密码及数据持久化:
| Bash | |
|---|---|
1 | |
参数说明:
- -d:后台运行容器
- --name:指定容器名称为 mysql8-container
- -p 3306:3306:将主机 3306 端口映射到容器 3306 端口
- -e MYSQL_ROOT_PASSWORD=102100:设置 MySQL root 用户密码为 102100
- -e MYSQL_INITDB_SKIP_TZINFO=1:跳过时区初始化(避免部署时的时区配置问题)
- -v mysql8-data:/var/lib/mysql:挂载数据卷 mysql8-data 到容器数据存储目录,实现数据持久化
1.3 验证容器运行状态¶
通过以下命令确认容器是否正常启动,若启动失败可通过日志排查问题:
| Bash | |
|---|---|
1 2 3 4 5 | |
1.4 连接 MySQL 容器¶
通过进入容器内部的方式连接 MySQL 服务,执行 SQL 命令:
| Bash | |
|---|---|
1 2 3 4 5 6 7 8 | |
1.5 常用容器管理命令¶
| Bash | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
二、Redis(含 RediSearch)容器部署与管理¶
Redis Stack 镜像已集成 RediSearch 功能,无需额外安装插件,直接部署即可使用。
2.1 拉取 Redis Stack 镜像¶
拉取官方集成 RediSearch 的 Redis Stack 最新镜像:
| Bash | |
|---|---|
1 | |
2.2 创建并启动 Redis 容器¶
2.2.1 基础启动(无密码)¶
适用于本地测试环境,不建议生产环境使用:
| Bash | |
|---|---|
1 | |
2.2.2 带密码启动(推荐)¶
通过环境变量设置 Redis 连接密码,提升安全性:
| Bash | |
|---|---|
1 | |
参数说明:
- -v redis-search-data:/data:挂载数据卷实现 Redis 数据持久化
- -e REDIS_ARGS="--requirepass 密码":设置 Redis 访问密码为 mdiyby5hSsTaxKe6
2.3 验证 RediSearch 功能¶
进入容器后执行 RediSearch 核心命令,验证功能是否正常启用:
| Bash | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
若命令执行无报错,说明 RediSearch 功能已正常生效。
2.4 常用容器管理命令¶
| Bash | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
三、通用注意事项¶
- 数据卷操作:删除数据卷前务必确认数据已备份,执行后数据将永久丢失。
- 端口冲突:若主机 3306(MySQL)或 6379(Redis)端口已被占用,需修改端口映射(如 -p 3307:3306)。
- 生产环境:建议增加容器资源限制(--memory、--cpus),并配置自定义配置文件优化服务性能。