Skip to content

Most secure vector database container images, ranked by isolation score

How isolated are the most-pulled vector database container images when you docker run them with plain defaults, no hardening flags? This page ranks 5 vector databases and embedding stores (Chroma, Qdrant, Weaviate, Milvus, pgvector) on IronClaw's seven-dimension container containment scale (0-100), best-isolated first. Scores run 48/100 to 48/100 (average 48/100). Higher is safer. Every score comes from ironctl scan, a credential-free audit you can run on your own containers in ten seconds.

No vector database image ships fully isolated by default: the leaders still leave capabilities, egress, or a writable root filesystem open. The gap between any image here and a clean 100/100 grade A is a handful of docker run flags, shown on every scorecard.

Ranked best to worst

Rank Image Score Grade Top gaps (default config)
๐Ÿฅ‡ 1 chromadb/chroma:0.5.23 48/100 ๐ŸŸ  D Dropped capabilities, Non-root user (uid != 0), Network isolation / egress
๐Ÿฅˆ 2 milvusdb/milvus:v2.5.1 48/100 ๐ŸŸ  D Dropped capabilities, Non-root user (uid != 0), Network isolation / egress
๐Ÿฅ‰ 3 pgvector/pgvector:pg17 48/100 ๐ŸŸ  D Dropped capabilities, Non-root user (uid != 0), Network isolation / egress
4 qdrant/qdrant:v1.12.4 48/100 ๐ŸŸ  D Dropped capabilities, Non-root user (uid != 0), Network isolation / egress
5 semitechnologies/weaviate:1.28.1 48/100 ๐ŸŸ  D Dropped capabilities, Non-root user (uid != 0), Network isolation / egress

Scan your own vector database container

These grades come from ironctl scan, one credential-free command that audits any running container, docker-compose service, or Kubernetes manifest, not just the vector database images ranked above:

# install (Homebrew)
brew install ironsecco/ironclaw/ironclaw

# grade your own container the same way this page was generated
ironctl scan my-container

Part of the Container Isolation Scores directory. Generated from a reproducible survey by examples/isolation-survey/gen_scorecards.py and refreshed weekly, so this ranking never goes stale. Grades reflect each image's default configuration, not a limit of the image itself: every one reaches grade A with the right docker run flags.