pgvector Docker 镜像拉不到 latest?pg16 这类标签规则一次讲清
【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector
docker pull pgvector/pgvector敲下去,终端回你一句manifest for pgvector/pgvector:latest not found,镜像确实就是拉不下来。
这锅不怪镜像挂了,是维护者的有意设计:pgvector 的镜像标签跟 Postgres(开源关系型数据库)的主版本号绑死,latest从一开始就不存在。
pgvector 镜像标签为什么按 PG 版本拆
- 因为扩展要针对某个 PG 大版本的内核接口编译 → 所以编译出的
.so换个主版本就直接失效 → 因此镜像只能按pg14到pg18逐个构建,latest指向谁都不对 - 因为 PG 换主版本会连带存储格式变化 → 所以浮动标签偷偷升级主版本 → 因此旧数据可能莫名其妙不兼容,维护者干脆不给这个隐患
- 因为标签后缀还带 Debian 发行版(trixie、bookworm)→ 所以同一主版本有两套 tag → 因此得看你跑的基础镜像是哪套
拉 pgvector 镜像:Docker pull 指定 PG 版本
先查清自己 Postgres 用的哪个主版本,比如 16,直接:
docker pull pgvector/pgvector:pg16它和latest的差异在于:版本信息全写在标签里,0.8.6-pg16这种写法还把扩展版本也钉死了。拉下来之后像官方postgres镜像一样docker run即可,完整标签清单在 README.md 的 Docker 一节。镜像由 Dockerfile 构建,默认PG_MAJOR=17,可用--build-arg换成自己的主版本。
拉取 pgvector 镜像前的核对清单
- 确认 PG 主版本号,再选
pg16这类标签 - 确认镜像 Debian 发行版,再补对应后缀
- 确认版本要钉死,再换
0.8.6-pg16
标签写进 compose 文件,下次升级就不会再被 latest 坑 ✅
【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考