milvus实战 | docker部署单机版

本文详细介绍了如何在CentOS7.3.1611上部署Milvus单机版和可视化工具Attu,包括遇到的问题及解决方案,如docker-compose的安装,IPtables错误的解决。此外,还提供了将部署移植到内网环境的步骤,涉及镜像导出与导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

单机版部署总体而言是比较简单的,但是本着鸡过拔毛,码过留痕的当下人生信条,还是即时记录下。部署过程中有些小的细节也是可以拿捏下,希望可以给有缘人一缕顺风
本文主要三部分:

  1. milvus部署
  2. milvus可视化工具attu部署
  3. 移植到内网部署

环境准备

需要有一个能连互联网的linux环境和版本不过分低的docker。本文部署于CentOS Linux release 7.3.1611 (Core),docker版本23.0.1

# 查看系统版本
cat /etc/redhat-release
# 查看docker版本
docker --version

部署milvus

1. 部署milvus

官网教程
下载部署文件

wget https://github.com/milvus-io/milvus/releases/download/v2.0.2/milvus-standalone-docker-compose.yml -O docker-compose.yml

部署

sudo docker-compose up -d

成功启动效果

Creating milvus-etcd  ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done

可使用如下命令查看状态

sudo docker-compose ps

如果不幸没有这么顺利的小伙伴,可以参考接下来扑面而来的部署问题小节

2. 部署问题

问题一 -bash: docker-compose: command not found

缺少docker-compose , 装它。
注意:不要安装过低版本,会有意想不到的错误

在线装docker-compose
# 安装pip
yum -y install epel-release
yum -y install python-pip
# 升级pip
pip install --upgrade pip
# 安装docker-compose插件
pip install docker-compose
# 验证
docker-compose -version

安装成功显示

docker-compose version 1.26.2, build unknown

如果碰到 IOError: [Errno 2] No such file or directory: '/tmp/pip-build-w20CAl/distro/setup.py
需要升级升级pip

pip install --upgrade pip

如果升级pip碰到 def read(rel_path: str) -> str SyntaxError: invalid syntax
执行下面命令

python -m pip install --user --upgrade pip==20.2.4
/usr/bin/python -m pip install --upgrade pip
离线装docker-compose

因为后面还会讲到移植到内网环境,所以这里一并补充下离线装方案
下载
在这里插入图片描述
上传目标服务器,然后执行下面命令

# 移到目标位置并换名
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
# 授权
sudo chmod +x /usr/local/bin/docker-compose
# 创建软链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 验证
docker-compose -version

搞掂

问题二 error :Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-5ae26e6069b6 -j RETURN: iptables: No chain/target/match by that name

需要升级下yum

yum -y update

部署attu

这是一个比较强大的可视化工具,开发测试建议安它。看得见,更放心。
官网

1. linux安装

docker run -p 8000:3000 -e HOST_URL=http://192.168.56.106:8000 -e MILVUS_URL=192.168.56.106:19530 zilliz/attu:latest

上面的命令加载的是最新版本,如果想指定版本,可以把latest换成想要的版本号,有哪些版本可用可移步官网查看,这里安装v2.0.0

# HOST_URL 运行attu的服务器ip MILVUS_URL运行milvus的ip
docker run -p 8000:3000 -e HOST_URL=http://xx.xx.xx.xx:8000 -e MILVUS_URL=xx.xx.xx.xx:19530 zilliz/attu:v2.0.0

运行成功显示
在这里插入图片描述
浏览器使用http://xx.xx.xx.xx:8000访问
在这里插入图片描述
登录进入后界面
在这里插入图片描述

2. 问题 docker: error pulling image configuration: download failed after attempts=6: http: server gave HTTP response to HTTPS client

这可能是因为系统时间不同步

yum install ntpdate
ntpdate 0.asia.pool.ntp.org

3. windows 安装

官网下载
下载指定版本的exe文件,直接点击运行安装即可

移植内网环境

这里是基于已经成功在一个可以连外网的linux环境成功安装了的前提下,从成功的服务器移植到目标内网服务器。因为是docker部署,镜像移植就很简单了

1. 导出镜像文件

查看镜像名称和版本

docker images

在这里插入图片描述
导出镜像到当前目录

# 按照同样的命令导出quay.io/coreos/etcd和minio/minio
docker save -o milvus-v2.0.0.tar.gz milvusdb/milvus:v2.0.0
docker save -o attu-v2.0.0.tar.gz zilliz/attu:v2.0.0

2. 加载镜像

把生成的milvus相关镜像文件以及attu-v2.0.0.tar.gz上传到目标服务器,然后加载镜像

# 同样命令引入etcd和minio
docker load -i milvus-v2.0.0.tar.gz
docker load -i attu-v2.0.0.tar.gz

或者

# 可以同时加载多个images
for image in $(find . -type f -name "*.tar.gz") ; do gunzip -c $image | docker load; done

3. 运行

# cd到docker-compose.yml同级目录,运行milvus
docker-compose up -d
# 运行attu
docker run -p 8000:3000 -e HOST_URL=http://192.168.56.106:8000 -e MILVUS_URL=192.168.56.106:19530 zilliz/attu:v2.0.0

4. 停止

docker stop Image ID

这里再多补充下milvus官方有提供离线部署方式,亲测可行,可以码住。
官网离线安装
行文至此,已交代完毕。最后再附上参考资料

参考资料

https://milvus.io/docs/v2.0.x/install_standalone-docker.md
https://blog.csdn.net/qq_42823864/article/details/124587778
https://blog.csdn.net/qq_35663625/article/details/107411857
https://blog.csdn.net/sunkangke/article/details/123530119
https://www.hangge.com/blog/cache/detail_2469.html
https://github.com/zilliztech/attu/blob/main/doc/zh-cn.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值