使用Docker安装向量数据库milvus并且安装图形化界面的方法

 更新时间:2025年02月12日 14:27:01   作者:ちょうていしょ  
文章介绍了如何在Windows上使用Docker安装并配置Milvus向量数据库,包括启用WSL2、安装Ubuntu、配置Docker仓库、安装Milvus服务端和用户图形界面Attu,并提供了一个修改后的Dockerfile以提高Attu的安装速度,感兴趣的朋友一起看看吧

安装Docker

启用WSL

首先按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地址是zilliztech/attu。
你可以执行把项目拉下来然后进入到项目目录里面直接运行

sudo docker build -t attu:2.4.12 .

这个使用Dockerfile构建,我实测安装会有点慢原因是里面的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

将RAG核心之向量数据库之milvus的

改为

即可!

结语

欢迎讨论。

到此这篇关于使用Docker安装向量数据库milvus并且安装图形化界面的文章就介绍到这了,更多相关Docker安装向量数据库milvus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker部署mysql8并设置可远程连接

    docker部署mysql8并设置可远程连接

    本文主要介绍了docker部署mysql8并设置可远程连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker 限制容器对内存的使用详解

    Docker 限制容器对内存的使用详解

    这篇文章主要介绍了Docker 限制容器对内存的使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 卸载Docker时保留本地镜像和容器方式

    卸载Docker时保留本地镜像和容器方式

    文章讲述了如何在Linux、Windows和Mac系统中备份和恢复Docker镜像和容器,备份过程包括列出本地镜像、保存镜像和导出容器,恢复过程则涉及卸载Docker、重新安装Docker以及使用dockerload和dockerimport命令恢复镜像和容器
    2024-11-11
  • docker overlay2 文件夹比较大处理步骤

    docker overlay2 文件夹比较大处理步骤

    本文介绍了Docker默认存储驱动overlay2文件夹变得大时的清理方法,包括清理未使用的Docker对象、删除未使用的容器和镜像、清理日志文件和数据卷等步骤,通过这些步骤,可以有效释放磁盘空间并避免存储空间不足的问题,感兴趣的朋友跟随小编一起看看吧
    2025-03-03
  • Linux新建用户并允许docker及docker基本命令

    Linux新建用户并允许docker及docker基本命令

    这篇文章给大家介绍了Linux新建用户并允许docker及docker的容器创建及基本命令讲解,需要的朋友参考下本文吧
    2017-12-12
  • docker maven plugin快速部署微服务的详细流程

    docker maven plugin快速部署微服务的详细流程

    本文给大家介绍docker maven plugin微服务快速部署方法,主要将Dockerfile写在pom中方便项目管理,将微服务的 打包、上传、镜像创建操作整合到一条命令中执行,感兴趣的朋友跟随小编一起看看吧
    2022-04-04
  • 如何解决docker镜像在不同cpu架构上运行容器报错问题

    如何解决docker镜像在不同cpu架构上运行容器报错问题

    文章主要介绍了如何查看本地Docker镜像的CPU架构类型,并提供了解决x86镜像无法在ARM CPU上运行的问题的方法,通过在Dockerfile中使用`--platform`参数指定CPU架构,可以在构建镜像时选择正确的版本,从而解决架构不匹配的问题
    2024-12-12
  • docker使用dockercompose编排一个Hadoop集群方式

    docker使用dockercompose编排一个Hadoop集群方式

    这篇文章主要介绍了docker使用dockercompose编排一个Hadoop集群方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 常用的Docker基本命令及用法汇总

    常用的Docker基本命令及用法汇总

    Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container)。今天给大家汇总介绍15个常用的docker命令以及用法
    2016-11-11
  • Docker+Jenkins+Gitee自动化部署maven项目的实现

    Docker+Jenkins+Gitee自动化部署maven项目的实现

    本文主要介绍了Docker+Jenkins+Gitee自动化部署maven项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论