Mac —— Docker Desktop(Milvus和Redis)部署

目录

一、概念

[二、Docker 初始化](#二、Docker 初始化)

三、验证Milvus

四、验证Redis

五、安装WSL(Window系统)

六、Docker命令使用

警告⚠️

修复方法

7、总结


本篇为了备忘录,记录下日常容器轻量化环境部署 。

一、概念

Docker 是容器化工具,能把代码、依赖、环境打包成一个独立 "容器"

Milvus 是一个开源、分布式、专为 AI 设计的「向量数据库」

Redis 是一款高性能的「内存键值数据库」,主打超快读写,常用来做缓存、临时存储、队列。

二、Docker 初始化

window的先装 WSL,看目录五。

官网下载:Docker Desktop: The #1 Containerization Tool for Developers | Docker

docker-compose.ymlDocker 多容器编排配置文件

作用:用一份文本配置,一次性启动、管理多个关联的 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 所在文件夹执行

  1. 一键启动 Milvus + Redis + Attu

docker compose up -d

  1. 查看运行状态

docker compose ps

  1. 实时看日志排错

docker compose logs -f

  1. 日常停止服务

docker compose stop

  1. 彻底销毁容器(保留数据)

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 更顺、更接近线上环境

相关推荐
梦想的颜色1 小时前
Redis数据类型全解析:从底层原理到生产实战
运维·数据库·redis·缓存·高并发·分布式锁·数据类型
我是一颗柠檬2 小时前
【Redis】Redis性能优化Day14(2026年)
数据库·redis·性能优化
花花少年2 小时前
基于Docker快速部署OneAPI以及统一调用国产大模型
docker·oneapi·deepseek
杨了个杨89822 小时前
Docker简介及安装
运维·docker·容器
胖胖雕2 小时前
LLM增强的网易云API部署用于鸿蒙原生音乐app: Melotopia
docker·node.js·harmony
SPC的存折2 小时前
Redis完整学习手册(赵老师视频精华版)
redis·学习·音视频
江华森2 小时前
Docker 基础实战完整指南
运维·docker·容器
fthux2 小时前
「装闭」-AI驱动的开源装修闭坑系统
人工智能·docker·开源
土星云SaturnCloud12 小时前
土星云AI边缘计算SE110S系列模型部署实战-YOLOv5
服务器·人工智能·yolo·docker·边缘计算