当前位置:   article > 正文

milvus实战 | docker部署单机版_milvus docker

milvus docker

前言

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

  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
  • 1
  • 2
  • 3
  • 4

部署milvus

1. 部署milvus

官网教程
下载部署文件

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

部署

sudo docker-compose up -d
  • 1

成功启动效果

Creating milvus-etcd  ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
  • 1
  • 2
  • 3

可使用如下命令查看状态

sudo docker-compose ps
  • 1

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

安装成功显示

docker-compose version 1.26.2, build unknown
  • 1

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

pip install --upgrade pip
  • 1

如果升级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
  • 1
  • 2
离线装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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

搞掂

问题二 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
  • 1

部署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
  • 1

上面的命令加载的是最新版本,如果想指定版本,可以把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
  • 1
  • 2

运行成功显示
在这里插入图片描述
浏览器使用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
  • 1
  • 2

3. windows 安装

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

移植内网环境

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

1. 导出镜像文件

查看镜像名称和版本

docker images
  • 1

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

# 按照同样的命令导出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
  • 1
  • 2
  • 3

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
  • 1
  • 2
  • 3

或者

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

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
  • 1
  • 2
  • 3
  • 4

4. 停止

docker stop Image ID
  • 1

这里再多补充下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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/810036
推荐阅读
相关标签
  

闽ICP备14008679号