尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

pgvector Docker 镜像拉不到?搞懂标签规则后一劳永逸

pgvector Docker 镜像拉不到?搞懂标签规则后一劳永逸 pgvector Docker 镜像拉不到搞懂标签规则后一劳永逸【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector拉 pgvector Docker 镜像latest 标签报 not foundpgvector 是 PostgreSQL 向量扩展它的镜像标签跟着 PostgreSQL 主版本走。这篇把原因讲清楚并告诉你怎么选对标签。你大概率会看到什么pgvector 没有 latestdocker pull pgvector/pgvector直接报错not found 或 no matching manifest。手动加上 latest 标签也一样拉不到。不是你名字打错了这个镜像就是没有 latest。背后逻辑镜像版本对应为什么长这样pgvector 镜像就是在官方 postgres 镜像里把向量扩展编译了进去。扩展用 C 语言对接 PG 内部接口ABI 兼容只在同一主版本内保证PG 主版本一换扩展可能要重新编译。所以镜像标签直接绑定 PG 主版本pg16 只配 PG 16也不提供 latest免得装出不兼容的组合。就像手机壳先确定机型才谈得上合不合身。按你的场景对号入座我本地已经跑着 PostgreSQL跑一下psql --version或在库里执行SELECT version();看本地 PG 主版本。比如是 16就拉对应标签docker pull pgvector/pgvector:pg16其余版本同理PG 15 用 pg15PG 17 用 pg17规则都是 pg 加主版本号。我要从零拉起一套带向量的 PG从零开始的话compose 里直接写死镜像主版本按需替换services: postgres: image: pgvector/pgvector:pg16 # 按需替换主版本号 environment: POSTGRES_PASSWORD: example volumes: - pgdata:/var/lib/postgresql/data volumes: pgdata:docker compose up -d起来之后用法和官方 postgres 镜像完全一样。确认它真的能用了启动后跑两条命令验证先建扩展再跑一条向量类型查询docker exec -it mypg psql -U postgres -c CREATE EXTENSION vector; docker exec -it mypg psql -U postgres -c SELECT [1,2,3]::vector;第二条能返回向量值就 OK。如果 CREATE EXTENSION 报 module not available基本就是镜像和 PG 版本没对上回到标签处检查。容易踩的坑标签写成了 pgvector:latestPG 16 用了 pg15 镜像扩展创建失败拉了镜像忘了执行 CREATE EXTENSION开发、生产 PG 主版本不一致行为对不上拉镜像的规则其实就一条查 PG 主版本拼在 pg 后面。写法多了点动作换来的是每个环境版本都对得上排查问题也省心力。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表