快速上手:Milvus与Attu在Docker环境下的无缝集成指南
运行mivlus和它的图形化界面都是在docker容器中运行的,那么首先就是要安装docker,这边以windows用户为例。安装Docker
启用WSL
[*]首先按win键搜索控制面板并打开。
https://i-blog.csdnimg.cn/direct/306dc27ec22b4a39809580f82e8ec63a.png
点击程序。
https://i-blog.csdnimg.cn/direct/8d458a353a1844c896d1071ca9d48b3e.png
点击启用或关闭windows功能。
https://i-blog.csdnimg.cn/direct/00184a5659d2494884c24e4b490111c5.png
勾选上虚拟机平台然后重启电脑(一定要重启)即可。
https://i-blog.csdnimg.cn/direct/a6002ff01d654978b08f169325010fc1.png
安装Ubuntu
在微软商店里面搜索ubuntu然后任意安装一个LTS版本即可(LTS表示恒久支持)。
下载完成后按提示安装应该会要输入用户名暗码什么的(自行设置)。
https://i-blog.csdnimg.cn/direct/ae40f3da8e354229b49ad48d92554d9c.png
然后在菜单栏搜索ubuntu并打开。
https://i-blog.csdnimg.cn/direct/ffa0dcad8fad4d7eb6f007b9caf428c8.png
然后就在这个下令行中执行下面的下令。
https://i-blog.csdnimg.cn/direct/af84cc615e844a259047cd8325c33e6c.png
首先执行以下下令卸载所有辩论的软件包。(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 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
若出现以下内容则安装成功。
https://i-blog.csdnimg.cn/direct/6fe1e2bd77014947bda30323711a348f.png
安装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的容器已经开始运行。
https://i-blog.csdnimg.cn/direct/97866429d20e470a8d63472b68159c77.png
ok我们删了这个容器。
运行以下下令逼迫删除。
sudo docker rm -f milvus-standalone
https://i-blog.csdnimg.cn/direct/2de297b123b44150a9bfffc273150d10.png
接下来开始安装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 .
https://i-blog.csdnimg.cn/direct/ad16054bf15a4af78cadda8b57bf5f77.png
我这边用时176.5s(没开科学上网)。
然后执行
sudo docker iamges
https://i-blog.csdnimg.cn/direct/d279bd17770d4510b5fd15e292384d52.png
可以看到已经构建了这个镜像。
接下来开始启动容器
在根目录下创建一个milvus目录并进入
cd ~
mkdir mivlus
cd milvus
sudo docker iamges
https://i-blog.csdnimg.cn/direct/3e0dd9f58c894ea090cb654d30ddfbbf.png
将以下下内容保存为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
https://i-blog.csdnimg.cn/direct/a8535356ec484456b80ea0a5fae8b55b.png
进入浏览器访问localhost:8000
https://i-blog.csdnimg.cn/direct/05221cf031e543239fd40d55d54d1999.png
等个10秒钟左右再连接(项目刚开要初始化)。
https://i-blog.csdnimg.cn/direct/7f9415c0e7f3412f917a1848f0a2cfde.png
使用milvus
使用milvus请参考Milvus + RAG:开启智能搜索新时代,重塑AI创造力。
将Milvus + RAG:开启智能搜索新时代,重塑AI创造力的
https://i-blog.csdnimg.cn/direct/6d9593dd86f547b885b31a19bbc3898d.png
改为
https://i-blog.csdnimg.cn/direct/695533a421e24a02a1ab9f777f671762.png
即可!
结语
欢迎讨论。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]