VS code中用docker创建数据库
1.MySQL
前置准备(必须先完成)
1. 安装 Docker Desktop(Windows)
- 官网下载:Docker Desktop
- 安装时默认勾选「Use WSL 2 instead of Hyper-V」(Windows 推荐方案)
- 安装完成后重启电脑,打开 Docker Desktop,左下角显示「Docker Desktop is running」即为启动成功。
2. VS Code 安装必备扩展
在扩展商店搜索安装:
- Docker(Microsoft 官方出品,用来可视化管理容器、镜像、执行命令)
- Database Client(Weijan Chen,可视化管理数据库,支持 MySQL/PostgreSQL 等绝大多数数据库)
分步操作:以最常用的 MySQL 8.0 为例
步骤 1:拉取 MySQL 官方镜像
打开 VS Code 终端(任意目录均可),执行拉取命令:
docker pull mysql:8.0
下载完成后,可在 VS Code 左侧「Docker」面板的「Images」中看到该镜像。
步骤 2:启动 MySQL 容器(核心,带数据持久化)
在终端执行启动命令,关键参数包含端口映射、密码、自动建库、数据卷挂载(防止容器删除后数据丢失)。
Windows PowerShell 中建议写成一行,避免换行报错:
docker run -d --name mysql-course -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=ai_course_db -v mysql-data:/var/lib/mysql --restart always mysql:8.0
参数说明:
| 参数 | 作用 |
|---|---|
--name mysql-course | 自定义容器名称,方便后续管理 |
-p 3306:3306 | 端口映射:本地 3306 端口 → 容器内 3306 端口 |
-e MYSQL_ROOT_PASSWORD=123456 | 设置 root 用户的密码,可自定义 |
-e MYSQL_DATABASE=ai_course_db | 启动时自动创建一个数据库,对应你的作业项目 |
-v mysql-data:/var/lib/mysql | 数据卷挂载:数据库数据持久化到本地,删除容器数据不会丢失 |
--restart always | 开机自启:Docker 启动后数据库自动运行 |
步骤 3:验证容器运行状态
执行命令查看容器,STATUS 显示 Up 即为运行成功:
docker ps
也可以在 VS Code 左侧「Docker」面板的「Containers」中查看,绿色三角标识代表运行中。
步骤 4:VS Code 可视化连接数据库
用 Database Client 插件可视化管理表、执行 SQL,不用额外安装数据库客户端:
- 点击 VS Code 左侧「数据库」图标(Database Client 面板)
- 点击「新建连接」→ 选择「MySQL」
- 填写连接信息:
- 主机:
127.0.0.1(本地) - 端口:
3306 - 用户名:
root - 密码:
123456(和启动命令里的密码一致) - 数据库:
ai_course_db(可选,填了直接进入指定库)
- 主机:
- 点击「测试连接」,提示成功后点击「保存」,即可可视化建表、查询数据。




步骤 5:后续在这个项目里新建其他数据库
在当前界面新建数据库的操作步骤
- 右键点击上方的「AI 课程 mySQL 8.0.46」连接名
- 选择「新建查询」
- 在弹出的 SQL 编辑窗口里输入建库语句,例如:
CREATE DATABASE IF NOT EXISTS 数据库名称 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci; - 点击执行按钮(闪电图标)运行语句
- 执行成功后,右键刷新连接,就能在列表里看到你新建的数据库,和
ai_course_db并排显示。
步骤 6:Python 项目中连接数据库
在你的作业项目中安装依赖,用代码连接数据库(以 SQLAlchemy 为例,兼容 LangChain):
- 安装依赖:
uv add pymysql sqlalchemy - 连接测试代码:
from sqlalchemy import create_engine, text # 数据库连接地址格式:mysql+pymysql://用户名:密码@地址:端口/数据库名 DB_URL = "mysql+pymysql://root:123456@127.0.0.1:3306/ai_course_db" # 创建数据库引擎 engine = create_engine(DB_URL) # 测试连接 with engine.connect() as conn: result = conn.execute(text("SELECT VERSION()")) print("数据库版本:", result.scalar())
常用 Docker 数据库操作命令
| 操作 | 命令 |
|---|---|
| 停止运行中的容器 | docker stop mysql-course |
| 启动已停止的容器 | docker start mysql-course |
| 重启容器 | docker restart mysql-course |
| 删除容器(需先停止) | docker rm mysql-course |
| 查看所有容器(含停止的) | docker ps -a |
| 查看容器运行日志 | docker logs mysql-course |
2.Milvus
整体流程:
- D 盘新建文件夹
D:\milvus - 在这个目录执行 curl 下载官方单机版 yml
- 在
D:\milvus执行docker compose up -d启动独立 Milvus 服务
Milvus 服务独立部署,不和业务代码放在同一个项目目录,这是非常标准、推荐的做法。
完整操作步骤(在线拉取,新建向量库)
1. 新电脑提前启动 Docker Desktop
等待引擎运行成功。
2. 创建目录
D 盘手动新建文件夹
D:\milvus
3. 进入目录,在此处打开 PowerShell
进入 D:\milvus → 空白处 Shift + 右键 → 在此处打开 PowerShell 执行下载官方稳定版单机配置:
curl -Uri "https://github.com/milvus-io/milvus/releases/download/v2.4.15/milvus-standalone-docker-compose.yml" -OutFile docker-compose.yml
如果 github 访问超时下载失败(输入该命令之后命令行无返回),两种解决办法: ①旧电脑 U 盘直接复制
D:\milvus\docker-compose.yml到新电脑D:\milvus,不用重新下载 ②直接新建文档docker-compose.yml(务必修改后缀,不要保存成docker-compose.yml.txt),复制粘贴下面这段代码并保存
version: '3.5'
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.5
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/etcd_data:/etcd
command: etcd -name=etcd -data-dir=/etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls=http://0.0.0.0:2379 --listen-peer-urls=http://0.0.0.0:2380
ports:
- "2379:2379"
minio:
container_name: milvus-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
ports:
- "9000:9000"
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/minio_data:/data
command: minio server /data
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v2.4.15
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus_data:/var/lib/milvus
ports:
- "19530:19530"
- "9091:9091"
depends_on:
- "etcd"
- "minio"
执行完成后,目录里会出现一个 docker-compose.yml 文件,这个文件里定义了 3 个服务:
milvus-standalone:Milvus 向量数据库主服务etcd:存储元数据(集合、索引等信息)minio:对象存储,保存实际向量与数据文件
创建 yml 文件完成后,先查看文件夹确认文件存在:
ls
列表出现 docker-compose.yml,才能执行 docker compose up -d。
4. 启动 Milvus
在 docker-compose.yml 所在的目录执行:
docker compose up -d
自动拉取 milvusdb/milvus:v2.4.15、etcd 镜像,后台启动服务。
5. 验证启动
docker ps
看到 milvus、etcd 容器即为成功。 服务地址不变:localhost:19530,你的代码无需修改连接地址。
核心端口说明
- 19530:gRPC 端口,Python、LangChain 客户端连接用(我们主要用这个)
- 9091:HTTP REST API 端口
6. VS Code 中 Python 连接验证
安装 Python 客户端
在你的项目终端执行(你用 uv 环境,直接执行):
uv add pymilvus
新建测试脚本验证连接
在 VS Code 新建 test_milvus.py,粘贴以下代码并运行:
from pymilvus import connections
# 连接本地 Milvus
connections.connect(
alias="default",
host="localhost",
port="19530"
)
print("✅ Milvus 连接成功")
# 查看当前所有集合
from pymilvus import utility
print("当前集合列表:", utility.list_collections())
运行后输出「连接成功」就说明部署完成,可以正常使用了。
📌 Milvus 和 MySQL 部署结构总结(你的最终架构)
- Milvus 路径:
D:\milvus\docker-compose.yml启动方式:docker compose up -d - MySQL 启动方式:独立
docker run命令,无 yml 文件
两个服务互相独立,分开启动,不用整合在同一个 compose,维持你原来的使用习惯
更多推荐

所有评论(0)