
milvusdb/milvus-envMilvus Builder 是一个预配置的 Docker 镜像,专为 Milvus 向量数据库及其生态组件的构建流程设计。该镜像集成了 Milvus 编译、打包所需的全套依赖环境(如编译器、系统库、构建工具链),并内置自动化构建脚本,旨在简化 Milvus 源码编译、自定义组件开发及版本定制的流程。
v2.3.4、main 分支)server、sdk、all)从 Docker Hub 或私有仓库拉取镜像:
bash# 从 Docker Hub 获取(默认 latest 标签,对应 Milvus 最新稳定版构建环境) docker pull milvusdb/builder:latest # 指定 Milvus 版本(如构建 Milvus v2.3.x 需使用对应 builder 版本) docker pull milvusdb/builder:v2.3
~/milvus-src)~/milvus-build)通过 docker run 启动容器,挂载本地源码和输出目录,指定构建参数:
bashdocker run -it --rm \ -v ~/milvus-src:/workspace/milvus # 挂载本地 Milvus 源码到容器内工作目录 -v ~/milvus-build:/output # 挂载输出目录,存放构建产物 -e MILVUS_VERSION=v2.3.4 # 指定 Milvus 版本(若源码无 Tag,需手动指定) -e BUILD_TARGET=server # 构建目标:server(服务端)、sdk(SDK)、all(全部) milvusdb/builder:latest
| 参数名 | 说明 | 默认值 |
|---|---|---|
MILVUS_VERSION | 构建的 Milvus 版本号(需与源码 Tag 匹配,用于生成产物命名) | latest |
BUILD_TARGET | 构建目标:server(服务端二进制)、sdk(客户端 SDK)、all(全部) | all |
OUTPUT_FORMAT | 产物格式:binary(二进制)、docker(Docker 镜像)、package(安装包) | binary |
PARALLEL_JOBS | 并行编译任务数(建议设为 CPU 核心数,加速构建) | $(nproc) |
ENABLE_CACHE | 是否启用构建缓存(缓存依赖下载和中间产物,加速重复构建) | true |
| 本地目录 | 容器内目录 | 说明 | 必须挂载? |
|---|---|---|---|
~/milvus-src | /workspace/milvus | 本地 Milvus 源码目录(需包含完整源码) | 是 |
~/milvus-build | /output | 构建产物输出目录(产物将同步到本地) | 是 |
~/.milvus-cache | /cache | 构建缓存目录(复用缓存需挂载) | 否 |
bashdocker run -it --rm \ -v ~/milvus-src:/workspace/milvus \ -v ~/milvus-build:/output \ -v /var/run/docker.sock:/var/run/docker.sock # 挂载 Docker 套接字,用于在容器内构建镜像 -e BUILD_TARGET=server \ -e OUTPUT_FORMAT=docker \ -e MILVUS_VERSION=v2.3.4 \ milvusdb/builder:latest
说明:需挂载宿主机 Docker 套接字(
/var/run/docker.sock),使容器内构建的镜像可直接推送到宿主机 Docker 环境。
创建 docker-compose.build.yml:
yamlversion: '3.8' services: milvus-builder: image: milvusdb/builder:v2.3 volumes: - ./milvus-src:/workspace/milvus # 源码目录(CI 中通常为工作区目录) - ./output:/output # 产物输出目录 - ./cache:/cache # 缓存目录(CI 中可持久化缓存加速构建) environment: - MILVUS_VERSION=v2.3.4 - BUILD_TARGET=all - OUTPUT_FORMAT=package - ENABLE_CACHE=true command: /bin/bash -c "cd /workspace/milvus && ./build.sh" # 执行自定义构建脚本
运行命令:
bashdocker-compose -f docker-compose.build.yml up
git clone --recursive 拉取)。milvusdb/builder:v2.2)。~/.milvus-cache)或设置 ENABLE_CACHE=false。v2.3 对应 Milvus v2.3.x 系列),通过 milvusdb/builder:<version> 拉取特定版本。latest 标签滚动发布,建议生产环境固定版本标签(如 v2.3)以避免兼容性问题。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务