快速上手:Milvus与Attu在Docker环境下的无缝集成指南

目录

  • 安装Docker
    • 启用WSL
    • 安装Ubuntu
  • 安装mivlus服务端
  • 安装mivlus用户图形界面
    • 首先拉取项目
    • 构建镜像
  • 使用milvus
  • 结语

运行mivlus和它的图形化界面都是在docker容器中运行的,那么首先就是要安装docker,这边以windows用户为例。

安装Docker

启用WSL

  1. 首先按win键搜索控制面板并打开。
    在这里插入图片描述
    点击程序
    在这里插入图片描述
    点击启用或关闭windows功能
    在这里插入图片描述
    勾选上虚拟机平台然后重启电脑(一定要重启)即可。
    在这里插入图片描述

安装Ubuntu

在微软商店里面搜索ubuntu然后随便安装一个LTS版本即可(LTS表示长期支持)。
下载完成后按提示安装应该会要输入用户名密码什么的(自行设置)。
在这里插入图片描述
然后在菜单栏搜索ubuntu并打开。
在这里插入图片描述
然后就在这个命令行中执行下面的命令。
在这里插入图片描述
首先执行以下命令卸载所有冲突的软件包。(sudo使用超级管理员权限会让你提示你输入密码,你输入的密码在终端中是不会显示的)。

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

然后运行以下命令设置Docker官方仓库并安装相关依赖项。

# 添加Docker的官方GPG密钥:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 将存储库添加到apt源:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

然后运行以下命令安装docker。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

然后在终端中运行

docker --help

若出现以下内容则安装成功。
在这里插入图片描述

安装mivlus服务端

首先运行以下命令下载安装脚本。

curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh

然后运行以下命令运行脚本。

bash standalone_embed.sh start

启动后再运行。

sudo docker ps

可以看到一个名为milvus-standalone的容器已经开始运行。
在这里插入图片描述
ok我们删了这个容器。
运行以下命令强制删除。

sudo docker rm -f milvus-standalone

在这里插入图片描述
接下来开始安装milvus用户图形界面attu。

安装mivlus用户图形界面

attu的github地址是https://github.com/zilliztech/attu

首先拉取项目

执行git clone https://github.com/zilliztech/attu
然后执行cd attu进入到项目里面。

构建镜像

可以直接执行sudo docker build -t attu:2.4.12 .命令构建镜像。
但由于里面的nodejs的依赖安装使用的是国外源,所以十分的慢。因此我改了里面的Dockerfile文件,把源换成了国内的镜像源。
更改的Dockerfile文件如下

# => Building container
FROM node:22-slim AS builder
WORKDIR /app
COPY . .

ARG TARGETPLATFORM
ARG BUILDPLATFORM
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM"

# => Building Client
WORKDIR /app/client
RUN npm config set registry https://registry.npm.taobao.org && \
  yarn install --network-timeout 1000000
RUN yarn build

# => Building Server
WORKDIR /app/server
RUN npm config set registry https://registry.npm.taobao.org && \
  yarn install --network-timeout 1000000
ENV NODE_ENV=production \
    PORT=80
RUN yarn build

# => Copy to Final container
FROM node:22-slim
WORKDIR /app
COPY --from=builder /app/server/dist /app/dist
COPY --from=builder /app/client/build /app/build
COPY --from=builder /app/server/package.json /app/package.json
COPY --from=builder /app/server/yarn.lock /app/yarn.lock

# => Reinstall production dependencies and clean cache
RUN npm config set registry https://registry.npm.taobao.org && \
  yarn install --production && yarn cache clean

# Make our shell script executable
RUN chmod +x /app/build/env.sh

# Make all files accessible such that the image supports arbitrary user ids
RUN chgrp -R 0 /app && \
  chmod -R g=u /app

EXPOSE 3000

CMD ["/bin/bash", "-c", "/app/build/env.sh && yarn start:prod"]

将这上面的内容拷贝替换原来的Dockerfile文件。
然后再运行。

sudo docker build -t attu:2.4.12 .

在这里插入图片描述
我这边用时176.5s(没开科学上网)。
然后执行

sudo docker iamges

在这里插入图片描述
可以看到已经构建了这个镜像。
接下来开始启动容器
在根目录下创建一个milvus目录并进入

cd ~
mkdir mivlus
cd milvus
sudo docker iamges

在这里插入图片描述
将以下下内容保存为compose.yaml文件
一定要注意image字段和你那边是否能对上

version: '3.8'

name: MilvusServer

services:
  milvus-standalone:
    image: milvusdb/milvus:v2.5.0-beta # 确认镜像标签是否正确
    container_name: milvus-standalone
    security_opt:
      - seccomp:unconfined
    environment:
      - ETCD_USE_EMBED=true
      - ETCD_DATA_DIR=/var/lib/milvus/etcd
      - ETCD_CONFIG_PATH=/milvus/configs/embedEtcd.yaml
      - COMMON_STORAGETYPE=local
    volumes:
      - ./volumes/milvus:/var/lib/milvus
      - ./embedEtcd.yaml:/milvus/configs/embedEtcd.yaml
      - ./user.yaml:/milvus/configs/user.yaml
    ports:
      - "19530:19530"
      - "9091:9091"
      - "2379:2379"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
      interval: 30s
      start_period: 90s
      timeout: 20s
      retries: 3
    command: ["milvus", "run", "standalone"]
    logging:
      driver: "none"
    networks:
      - milvusserver_default #将其加入自定义的网络

  attu:
    image: attu:2.4.12  # 确认镜像标签是否正确
    container_name: attu
    environment:
      - MILVUS_URL=milvus-standalone:19530  # 使用服务名代替IP地址
    ports:
      - "8000:3000"
    depends_on:
      - milvus-standalone
    networks:
      - milvusserver_default #将其加入自定义的网络

networks:
  milvusserver_default:
    driver: bridge

然后运行

sudo docker compose up -d

在这里插入图片描述
进入浏览器访问localhost:8000
在这里插入图片描述
等个10秒钟左右再连接(项目刚开要初始化)。
在这里插入图片描述

使用milvus

使用milvus请参考Milvus + RAG:开启智能搜索新时代,重塑AI创造力

Milvus + RAG:开启智能搜索新时代,重塑AI创造力
在这里插入图片描述

改为

即可!

结语

欢迎讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ちょうていしょ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值