Ubuntu 20.04 部署向量数据库 Milvus + Attu

前言

最开始在自己的办公电脑(无显卡的 windows 10 系统) 上使用 Docker Desktop 部署了 Milvus 容器,方便的很, 下载 Attu 也很方便,直接就把这个向量数据库通过 Attu 这个图形化界面跑了起来,使用起来感觉 Milvus 向量数据库效果比较好,后面想在服务器(Ubuntu 20.04)上同样部署,遇到了不小的麻烦,花了一下午解决了,希望能给后人铺路。

正篇

补充:Ubuntu 20.04 不支持 Docker Desktop,只支持 Docker Compose。

1. 安装 Docker 与 Docker Compose

参考教程文档:ubuntu20.04安装docker与docker-compose_ubuntu20.4 docker compose安装-****博客,有 docker 的可以跳过。

2. 下载安装 Milvus

2.1. 下载 yml 文件

如果想安装最新版本的 Milvus 的话,先去https://github.com/milvus-io/milvus上查找最新的版本号,目前最新是 2.4.14 版本:

这一步直接将下载的文件重命名为 docker-compose.yml

# Download the configuration file
$ wget https://github.com/milvus-io/milvus/releases/download/v2.4.13-hotfix/milvus-standalone-docker-compose.yml -O docker-compose.yml

2.2. 安装 Milvus

Milvus 在 Milvus 资源库中提供了 Docker Compose 配置文件。要使用 Docker Compose 安装 Milvus,只需运行:

# Start Milvus
$ sudo docker-compose up -d

正确输出如下:

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

如果你像我一样遇到了网络问题,导致 docker 拉取镜像失败,就需要去修改 docker 源:

1. 设置 docker 源

vim /etc/docker/daemon.json

对 daemon.json 文件进行编辑,如果你不会用 vim 编辑器,也可以

sudo gedit /etc/docker/daemon.json

2. 修改文件内容并保存

{
    "registry-mirrors": ["https://docker.m.daocloud.io","https://noohub.ru","https://huecker.io","https://dockerhub.timeweb.cloud"],
    "insecure-registries": ["10.0.0.12:5000"]
}

3. 重启 docker

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 重新安装 Milvus

sudo docker-compose up -d

5. 检查是否安装成功

sudo docker-compose ps

安装成功输出如下:

3. Attu 安装

docker run -itd --restart=always -p 8787:3000 -e HOST_URL=http://localhost:8787 -e MILVUS_URL=10.195.230.253:19530 zilliz/attu:latest
  • 其中 8787 是我自己设置的本地端口号,你可以选一个没有被占用的本地端口即可。
  • MILVUS_URL需要修改为你的主机ip地址(或服务器ip地址),我的 IP 地址是10.195.230.253
  • 查询ip地址可以通过指令:ifconfig -a

4. 验证 Attu 能否连接到 Milvus

5. 停止和删除容器

# Stop Milvus
$ sudo docker-compose down

# Delete service data
$ sudo rm -rf volumes

6. Docker 端口占用释放

如果你遇到如下问题:

你可以输入:

docker ps 

查询当前 docker 中所有的容器,以及容器占用的端口:

然后输入:

docker stop <CONTAINER ID> 

来结束该容器,并释放端口。

参考内容:

  1. 基于ubuntu20.04docker安装milvus2.3及attu可视化工具_attu下载-****博客
  2. docker 安装向量数据库 Milvus-云社区-华为云
  3. https://github.com/zilliztech/attu/releases
  4. Run Milvus with Docker Compose | Milvus Documentation
  5. docker拉取镜像失败解决 - 林清扬的博客
  6. 操作常见问题 | Milvus 文档
  7. https://github.com/milvus-io/milvus/discussions/24948
  8. 记录一次踩坑:Milvus安装过程中的网络代理和容器启动问题解决方案 - 开发调优 - LINUX DO
上一篇:搭建Apache web服务器实例-操作步骤:


下一篇:C++ ----------- 栈和队列