Docker + MySQL 在 Windows 11 上的本地安装部署文档
前置准备
- 确保 Docker Desktop 已在 Windows 11 上安装并运行
-
打开 PowerShell 或终端,执行以下命令验证:
powershelldocker --version docker info -
如果没有安装,请从 Docker 官网 下载并安装
-
步骤 1: 拉取 MySQL 镜像
在终端中执行以下命令拉取官方 MySQL 镜像(以最新稳定版 MySQL 8.0 为例):
powershell
docker pull mysql:8.0
步骤 2: 创建数据持久化目录(推荐)
为了防止数据在容器销毁后丢失,我们在本地创建一个目录用于存储 MySQL 数据:
powershell
# 在 D 盘(或你喜欢的其他位置)创建目录
mkdir D:\docker-data\mysql\data
mkdir D:\docker-data\mysql\conf
mkdir D:\docker-data\mysql\logs
步骤 3: 启动 MySQL 容器
执行以下命令启动 MySQL 容器:
powershell
docker run -d \
--name mysql-local \
-p 3306:3306 \
-v D:\\docker-data\\mysql\\data:/var/lib/mysql \
-v D:\\docker-data\\mysql\\conf:/etc/mysql/conf.d \
-v D:\\docker-data\\mysql\\logs:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root123456 \
-e MYSQL_DATABASE=local_db \
-e TZ=Asia/Shanghai \
--restart=always \
mysql:8.0
参数说明:
-d: 后台运行容器--name: 给容器命名-p 3306:3306: 端口映射(主机:容器)-v: 目录挂载(持久化数据、配置、日志)-e MYSQL_ROOT_PASSWORD: 设置 root 用户密码(必填!)-e MYSQL_DATABASE: 启动时自动创建一个数据库(可选)-e TZ: 设置时区--restart=always: 容器随 Docker 启动自动重启
步骤 4: 检查容器状态
powershell
# 查看容器运行状态
docker ps -a
# 查看 MySQL 日志
docker logs mysql-local
步骤 5: 连接测试
你可以使用以下任意一种方式连接 MySQL:
方式 1: 在容器内连接
powershell
docker exec -it mysql-local mysql -u root -proot123456
方式 2: 用本地工具连接
使用 Navicat、DBeaver、MySQL Workbench 等工具:
- 主机:
localhost或127.0.0.1 - 端口:
3306 - 用户:
root - 密码:
root123456
常用管理命令
powershell
# 启动容器
docker start mysql-local
# 停止容器
docker stop mysql-local
# 重启容器
docker restart mysql-local
# 进入容器
docker exec -it mysql-local bash
# 删除容器(注意:数据如果有挂载不会丢失)
docker rm -f mysql-local
安全提示
- 生产环境请不要使用过于简单的密码
- 如不需要外网访问,建议只允许本地连接
- 定期备份
D:\docker-data\mysql\data目录