目录
[二、Docker 初始化](#二、Docker 初始化)
本篇为了备忘录,记录下日常容器轻量化环境部署 。
一、概念
Docker 是容器化工具,能把代码、依赖、环境打包成一个独立 "容器"
Milvus 是一个开源、分布式、专为 AI 设计的「向量数据库」
Redis 是一款高性能的「内存键值数据库」,主打超快读写,常用来做缓存、临时存储、队列。
二、Docker 初始化
window的先装 WSL,看目录五。
官网下载:Docker Desktop: The #1 Containerization Tool for Developers | Docker
docker-compose.yml 是 Docker 多容器编排配置文件。
作用:用一份文本配置,一次性启动、管理多个关联的 Docker 容器。
比如:启动Milvus和Redis 不需要一个个启动,停止。
指令:docker compose up -d 拉去镜并且启动容器
(docker-compose.yml 文件在哪,通过终端去该文件的路径下,执行)
文件内容:这里Redis:端口6379, Milvus 端口19530 等
version: "3.8" # 语法版本,固定写法
services: # 下面就是一个个「容器服务」
# 第一个服务:Redis
redis:
image: redis:7-alpine # 使用哪个镜像
ports:
- "6379:6379" # 端口映射:宿主机:容器内
volumes:
- ./redis-data:/data # 数据持久化:把容器数据存到本地文件夹
# 第二个服务:Milvus 依赖 etcd
milvus-etcd:
image: quay.io/coreos/etcd:v3.5.16
# 配置、目录...
# 第三个服务:Milvus 依赖 minio(存文件)
milvus-minio:
image: minio/minio:xxx
# 第四个服务:主程序 Milvus 向量库
milvus:
image: milvusdb/milvus:v2.4.10
depends_on: # 依赖:先启动 etcd、minio,再启动 Milvus
- milvus-etcd
- milvus-minio
ports:
- "19530:19530"
- "9091:9091"
networks: # 统一网络:让多个容器互相通信
rag-net:
如果是window中 遇到拉去镜像报错。
复制下面这段 到 Docker -> Setting -> Docker Engine
"registry-mirrors": [
"https://docker.211678.top",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.m.daocloud.io",
"https://do.nark.eu.org",
"https://dockerpull.com",
"https://dockerproxy.cn",
"https://docker.awsl9527.cn"
]

然后再次去 milvus_data 目录下,打开 cmd终端。

三、验证Milvus
Python代码
python
from pymilvus import MilvusClient
# 连接milvus
client = MilvusClient("http://localhost:19530")
# 显示当前milvus的数据库
print('databases-->', client.list_databases())
可视化工具:推荐Attu
官网:Releases · zilliztech/attu · GitHub




四、验证Redis
python
import redis
# 连接到 Redis
client = redis.Redis(host="localhost", port=6379, password=1234, decode_responses=True)
# 测试读写
client.set("test_key", "Hello, Redis!")
value = client.get("test_key")
print(f"Redis value: {value}")
可视化工具:推荐Tiny RDM
官网:Tiny RDM | Redis Desktop Manager


五、安装WSL(Window系统)
WSL = Windows Subsystem for Linux,Windows 官方内置的 Linux 子系统Microsoft Learn。
① 不用装虚拟机(VMware/VirtualBox)
② 不用重启切双系统
③ 直接在 Windows 里开一个 Linux(Ubuntu 等)终端
④ WSL2 是轻量虚拟机内核,性能接近原生 Linux
服务器基本都是 Linux,本地环境要一致
bash
wsl --install
耗时比较长。
安装完成后,重启时,可能会弹出如下对话框,代表WSL安装成功,关闭即可。
六、Docker命令使用
常用:
必须在 docker-compose.yml 所在文件夹执行
- 一键启动 Milvus + Redis + Attu
docker compose up -d
- 查看运行状态
docker compose ps
- 实时看日志排错
docker compose logs -f
- 日常停止服务
docker compose stop
- 彻底销毁容器(保留数据)
docker compose down
警告⚠️
WARN0000 /Users/.../docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion

修复方法
<1> 打开你的 docker-compose.yml 文件
<2> 直接删掉第一行的 version: "3.8"(或你写的其他版本号)
运行中不影响,重新docker compose ps 看下 就没了
7、总结
Mac 自带类 Unix 环境,不用折腾;Windows 没有,所以要用 WSL 补上 Linux 能力,让开发、跑服务、跑 Docker 更顺、更接近线上环境