Docker 最佳实战:Docker 部署单节点向量数据库 Milvus 实战 2024 年云原生运维实战文档 99 篇原创计划 第 028 篇 |Docker 最佳实战「2024」系列 第 016 今天分享的内容是 Docker 最佳实战「2024」 系列文档中的 Docker 部署单节点向量数据库 Milvus 实战。 本文将详细介绍如何用 Docker 容器及 Docker Compose 部署单节点 Milvus,并利用 Python 脚本验证 Milvus 服务的可用性。 前置条件 1.1 部署说明 使用 Docker 快速部署单节点 Milvus 服务有两种方式: 参考官方 Milvus 单节点安装文档,使用官方提供的部署文件 docker-compose.yml ,一键安装 模式的 milvus 本文选择第二种方式,复用现网已有服务,部署方案说明: 编写部署文件 docker-compose.yml,部署 standalone 模式的 milvus 和 milvus 专用的
在之前的文章中,我们聊过了一些和 Faiss 相关的事情,包括如何将数据转换为向量、如何挑选索引类型、如何简单加速向量检索性能、以及如何实现简单的语义搜索功能。 也曾提到会聊聊更多实际场景中向量数据库的用法,揭开所谓大厂里的核心服务的神秘面纱,比如:实现简单的搜索引擎、推荐系统、风控系统等等。 写在前面因为这个工具基于 Docker,所以我们需要先完成 Docker 运行环境的安装,如果你的本地环境中已经安装了 Docker,那么可以跳过这个小节,阅读后面的内容。 如果你是桌面运行环境,可以访问官网下载安装文件,如果你使用的是服务端环境,可以参考这篇文章中的“更简单的 Docker 安装”,来完成 Docker 环境的准备。 最后完整代码,我上传到了soulteary/portable-docker-app/milvus,有需要可以自取。希望这个工具镜像能够帮到想进入向量世界的你。
20220709_Docker快速部署数据库 修订记录: 20220709: 创建文档 20230103: 新增python连接mysql 20230717: mongo新增踩坑记录 前言 在学习Docker 的基本操作之后,最近恰好遇到一个需要搭建数据库的需求,今天就来一次数据库docker版本的安装配置笔记.其中,Mysql部分记录了通过Dockerhub官方帮助文档完成数据库的安装部署,主要记录思路,mongo 部分不在赘述,主要记录操作 mysql 明确需求 在Linux服务器上快速部署Docker版本mysql,并暴露端口外部连接数据库 mysql安装 Dockerhub确认官方镜像信息 dockerhub allowPublicKeyRetrieval=true进行忽略 参照:(86条消息) docker部署mysql 实现远程连接_眼沉沉的博客-CSDN博客_docker 连接mysql mongo docker exec -it mongo bash # 进入容器环境 # 部署例子2 docker run -d -p 27018:27017 -v mongo_configdb:/data/configdb
本机部署mysql并测试 先下载一个5.7的镜像拉取进行测试: [root@docker ~]# docker pull mysql:5.7 查看: [root@docker ~]# docker images CREATED SIZE mysql 5.7 be16cf2d832a 4 days ago 455MB centos 7 ~]# 进入容器: [root@docker ~]# docker exec -it 5138979c1240 /bin/bash 进入MySQL数据库: bash-4.2# mysql -uroot : dockerfile部署mysql并测试 dockerfile文件内容 [root@docker test]# cat dockerfile FROM mysql:5.7 WORKDIR /docker-entrypoint-initdb.d mysql2 cab914a5a287 12 minutes ago 448MB mycentos redis b7aa4955980a 5 weeks ago
一、说明 以前都是需要下载好多东西,东改改,西改改,现在有了Docker,简直太方便了。话不多说,直接搞起来。 二、环境说明 阿里云 Centos7.x (这个无所谓哈,什么系统都是可以的,只是命令稍微不同罢了。Docker在Linux,Windows都是支持的)。 三、安装Docker 请移步:https://blog.csdn.net/qq_17623363/article/details/99693639 四、安装RabbitMQ 1、获取镜像 这里你也可以指定你需要的版本 或者去Docker hub上查一下 #指定版本,该版本包含了web控制页面 docker pull rabbitmq:management 2、启动 这里我使用的是方式一,因为默认就是有用户的,所以就不用多此一举了 #方式一:默认guest 用户,密码也是 guest docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672
3.3docker-compose部署(企业级参考方案,需根据业务调整)统一管理配置与容器,支持一键启动、集群扩展,适合生产环境规模化部署。 4、结果验证查看容器状态展开代码语言:BashAI代码解释#普通部署dockerps|greppostgres#docker-compose部署dockercomposeps应看到容器状态为Up(健康检查通过会显示 进入PostgreSQL命令行展开代码语言:BashAI代码解释#普通部署(pg-web为容器名)dockerexec-itpg-webpsql-Uappuser-dappdb#docker-compose #保持权限一致}7、可选优化(提升专业度与安全性)7.1为什么不推荐root用户跑数据库? 初学者:使用「3.1快速部署」验证功能,熟悉PostgreSQL基础操作;中小团队:基于「3.2挂载数据目录」或「3.3docker-compose部署」,补充权限控制、网络隔离、定时备份,即可满足大部分生产需求
1.安装docker-ce 卸载旧版本: yum remove docker docker-common docker-selinux docker-engine 一、虚拟机联网,安装yum工具 执行以下命令 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 四、安装docker (网速慢的需要等会) yum install -y docker-ce 五、启动docker前准备 (docker应用需要用到各种端口,逐一设置比较麻烦,建议直接关闭防火墙) 重要的事请说三遍:启动docker #禁止开机启动防火墙 systemctl disable firewalld 六、启动docker systemctl start docker systemctl status docker #查看是否启动成功 2.使用 Docker Engine 安装极狐GitLab 以下内容为官方文档摘抄:https://docs.gitlab.cn/jh/install/docker.html#极狐gitlab-docker
向量数据库定义向量数据库就是用来存储,检索,分析向量的数据库。 随着国家安全和反恐的需求增长,根据业务规划,深圳平安城市项目到2018年底,会部署20w摄像头,预计保留一年的人脸特征在千亿级别;以及人们对购物体验的提升,商品种类以亿计,后续还可以支持音频和非结构化的文本检索 ,向量数据库大有可为。 向量数据库与传统数据库的区别数据规模超过传统的关系型数据库传统的关系型数据库管理1亿条数据已经是拥有很大的业务流量,而在向量数据库需求中,一张表千亿数据是底线,并且原始的向量通常比较大,例如512个float 向量数据库代表Milvus
我们希望通过这些内容的介绍,帮助大家在向量数据库应用的过程中少走弯路。 Milvus 是目前发展最成熟的开源向量数据库项目。 Milvus Standalone 的所有组件都打在一个 Docker 镜像里,服务端部署也比较方便。 Milvus Distributed 是 Milvus 的分布式部署模式。企业用户搭大规模向量数据库系统(或向量数据平台、中台),一般首选这种模式。 01.不同场景下的部署形态选型 一般说选型肯定离不开阶段。用到向量数据库的应用基本有这么几个阶段: AI 应用的快速原型构建。 02.不同开源向量数据库的适用数据规模 图1. 开源向量数据库适用的数据规模 咱们前面主要说的都是 Milvus,这里把其他几个受欢迎的开源向量数据库也拿过来做一个比较。
swapfile 再次启动容器后,容器正常运行 ————————————————-割———————————————– 有些问题到这里可能就已经解决了,然而我遇到的情况可能还要复杂一些,容器启动后,docker 这个时候,应该就是容器自身的问题了,使用docker logs –tail 100 <容器id>查看容器日志,看到有报错。 报错看着像是之前为了修改密码添加配置文件参数报错了。 docker cp <容器id>:/etc/mysql/conf.d/docker.cnf /root/mysql.cnf 然后修改宿主机上的/root/mysql.cnf文件,再复制回去 docker cp /root/mysql.cnf <容器id>:/etc/mysql/conf.d/docker.cnf 再次启动容器后,终于运行正常了。
启动 docker run --name pgsmaster -p 5500:5432 -e POSTGRES_PASSWORD=pgsmaster -v /home/pg/pgsmaster: /var/lib/postgresql/data -d postgres docker run --name pgsslave -p 5501:5432 -e POSTGRES_PASSWORD pg_hba.conf 增加复制节点授权 host replication postgres 172.17.0.3/32 trust 重启主节点 docker exec -it -u postgres pgsmaster pg_ctl stop docker restart pgsmaster 进入从节点 docker exec -it -u postgres cp pgsslave:/var/lib/postgresql/repl /home/pg docker run --name pgsslave -p 5501:5432 -e POSTGRES_PASSWORD
通常,帮朋友部署 WordPress 的这个场景下,你可以找朋友开一台新的服务器,初始化一套 LAMP,直接把 WordPress 给 wget 进去,就可以在你的浏览器里完成配置了。 但是,前两天我需要在自己的服务器上部署一个 WordPress 服务。我这样的蒟蒻当然是无缘使用世界上最好的编程语言—— PHP 的啦。没有 PHP,还部署个屁的 WordPress。 所以就想到了—— Docker,用容器去把它装起来就好了嘛。 想到就动手做,接下来我们就看看怎么用 Docker 部署 WordPress。 这里我们有两种选择,一是使用宿主机或是其他任何服务器上的 MySQL 数据库;二是用一个 MySQL Docker 镜像。 为了方便,同时也多练习 Docker 的使用,我们干脆再拉一个 mysql 镜像,让整套服务完全在 docker 里运行: $ docker pull mysql:latest 注意,这篇文章写在 2020
一、openGauss介绍1.openGauss简介openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。 : Pull complete 28692a7bf40a: Pull complete 53d8b65999fe: Pull complete 2feb7fb751a7: Pull complete 21970696c490 GS_USERNAME:数据库连接用户名,默认为gaussdb。GS_PORT:数据库端口,默认为5432。 opengauss_slave124c3c7ba6b16 exec -it 24c3c7ba6b16 /bin/bashroot@opengauss_master:/# su - ommomm@opengauss_master:~$ gs_ctl query
所有使用的Docker容器构建文件是有也。您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器。下面的命令会自动下载所需的预建的容器为您服务。 /u/garland/mesosphere-docker-mesos-master/ Marathon — https://registry.hub.docker.com/u/garland/mesosphere-docker-marathon / 第1步:获取Docker服务器的IP,并出口出来到环境中。 我们将使用这个IP一遍又一遍在随后的Docker命令。 root@docker-server:/# HOST_IP=10.11.31.7 第2步:启动ZooKeeper的容器。 步骤7:转到Marathon的网页开始作业 Marathon网页让您安排长时间运行的任务,到中观从容器中。这是一个很好的测试,看看你的集群启动并运行。
最近在兼职做 IT 咨询期间遇到过许许多多问题,其中咨询较多的问题之一就是在 Docker 容器中部署数据库。每每接到这个咨询我就想说一句:Are you crazy? Docker 在这几年可以说是大火,几乎所有的公司都将网站或者应用系统部署在 Docker 中,更有甚者将数据库也部署在 Docker 中(这个内容占到 Docker 问题咨询的一半左右)。 那么将数据库部署在 Docker 中真的好吗? 六、状态问题 Docker 快速扩展的重要特征是无状态,可以实现编排容器解决单点故障,一般来说具有状态的数据都不适合放在容器中,但是数据库是有状态的,如果将其部署在容器中会就必须单独部署存储服务,那么如果数据库崩溃 七、总结 上面六条总结了为什么 Docker 不适合部署数据库,当然这不是绝对的。如果你使用的是轻量级数据库或者分布式数据库的话其实是可以部署在 Docker 中的。
向量索引 在前面的文章中讲解了milvus的源码安装——向量数据库milvus源码剖析之开篇,向量数据库通常具备以下特点: 向量索引:用来支持高效的搜索,快速定位与查询向量相关的数据集。 本节将会着重讲向量索引。众所周知,向量数据库的主要目的是提供一种快速有效的方法来存储和高效查询数据,使向量数据类型成为一等公民。两个向量之间的相似性可以通过距离度量来衡量,例如余弦距离或点积。 指以未修改的形式存储向量的索引。当一个query请求到来时,使用暴力的方法与数据库中所有向量进行距离计算,返回最近距离。适合于在小规模,百万级数据集上寻求完全准确和精确的搜索结果的场景。 标量量化(SQ)通过将向量中的浮点数转换为整数来实现,这种方法通过对每个维度的最小值和最大值进行对称划分,将向量分割成多个区间。 向量由短码表示,这样可以通过这些码(称为再现值)有效地估算向量之间的距离。其中的压缩体现在:对每个子向量进行独立量化。每个子向量使用一个预先计算好的码本(质心集),将子向量映射为一个短码。
CentOS7下部署Docker私有仓库Harbor ? 部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备 下面介绍CentOS7下部署Docker私有仓库Harbor 步骤1:安装docker # step 4: 开启Docker服务 systemctl start docker systemctl enable docker docker version ? (图片可放大查看) 步骤2:安装docker-compose yum install docker-compose docker-compose -v ? (图片可放大查看) ? (图片可放大查看) 步骤7:docker客户端测试harbor仓库 1、安装docker 步骤就不太详细描述,参考步骤1 2、修改配置/etc/docker/daemon.json 添加阿里云docker
博主还提供了另一种方式,每次发布只需要将打包后的dist内容放到linux主机目录即可,感兴趣的道友可以直接参考这一篇:docker 安装 nginx 发布Vue项目_苍穹之跃的博客-CSDN博客nginx nginx # 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 COPY dist/ /usr/share/nginx/html/ 第三步:安装nginx docker pull nginx docker run --name nginx -d -p 4030:80 nginx 访问4030端口看看是否安装成功。 第四步:linux上找个空目录放项目文件和Dockerfile 第五步:构建镜像,cd到Dockerfile目录下 docker build -t 取个镜像名称 . 第六步:运行容器 docker run --name 取个容器名称 -d -p 9020:80 上一步取的镜像名称 访问一下9020检查是否运行成功。
使用docker部署influxdb 生成默认config.yml docker run \ --rm influxdb:latest \ influxd print-config > config.yml /code/docker-influx/data:/var/lib/influxdb/data - /rssp/code/docker-influx/meta:/var/lib/indluxdb/meta - /rssp/code/docker-influx/wal:/var/lib/indluxdb/wal - /rssp/code/docker-influx/backup/bin:/home/backup - /rssp/code/docker-influx/backup/data:/tmp/backup/data - /rssp/code/docker-influx/backup/gz:/tmp/backup /gz - /etc/localtime:/etc/localtime:ro ports: - "8086:8086" restart: always docker pull influxdb docker-compose
简介 Weaviate 是一种开源的向量搜索引擎数据库,允许以类属性的方式存储 JSON 文档,并将机器学习向量附加到这些文档上,以在向量空间中表示它们。 安装 Weaviate 从 Docker Hub 下载 Weaviate 的最新镜像: docker pull semitechnologies/weaviate:latest 如果拉取镜像速度较慢,可以尝试替换镜像源 可以通过浏览器访问地址: http://localhost:8080/v1/docs 使用python操作Weaviate向量数据库 以下是使用 Python 操作 Weaviate 向量数据库的完整示例 ", '_distance': 0.5216099619865417} 参考资料 向量数据库weaviate,Python Client v4一些简单使用 Weaviate的简单使用教程 向量数据库weaviate 安装和部署