Home → Articles → How to Install Milvus Vector Database on Ubuntu 26.04

How to Install Milvus Vector Database on Ubuntu 26.04

02 Apr, 2026

Introduction

Milvus is an open-source vector database built for large-scale similarity search and artificial intelligence applications. Unlike traditional databases that handle structured text data, Milvus stores and queries high-dimensional vectors, which are mathematical representations of unstructured data like images, audio, text, and videos. The database powers recommendation engines, facial recognition systems, drug discovery platforms, and semantic search applications. Milvus achieves millisecond-level query responses on billion-scale vector datasets through optimized indexing algorithms and supports multiple distance metrics including Euclidean distance and cosine similarity.

This guide shows you how to install Milvus on Ubuntu 26.04 using Docker containerization.

Prerequisites

Before you start:

Install Docker Engine

Milvus runs inside Docker containers, so you need Docker installed on your Ubuntu system. Docker provides the runtime environment that isolates Milvus from your host system while ensuring consistent behavior across different deployments.

Pull the Milvus Docker Image

Milvus provides official Docker images through the Docker Hub registry. The milvusdb/milvus image contains the complete Milvus server with all dependencies included.

Create Milvus Data Directories

Persistent storage ensures your vector data and logs survive container restarts. Create dedicated directories on your host system for Milvus to store its data.

Run Milvus Container

With the image pulled and directories ready, you can now start the Milvus container. The docker run command creates a container from the Milvus image and maps the necessary ports for client connections.

Manage Milvus Container

Docker manages the Milvus container as a running process on your system. You can control the container using standard Docker commands to start, stop, restart, and check its status.

Check Milvus Container Status

console
$ docker ps | grep milvus

Output:

a1b2c3d4e5f6   milvusdb/milvus:latest   "/tini -- /milvus/bi…"   2 minutes ago   Up 2 minutes   0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp   milvus

View Milvus Container Logs

console
$ docker logs milvus

Output:

[INFO] [standalone/standalone.go:123] ["Milvus is ready to serve"]
[INFO] [components/grpc.go:45] ["grpc server listening on port 19530"]
[INFO] [components/http.go:52] ["http server listening on port 9091"]

Press Ctrl + C.

Stop Milvus Container

console
$ docker stop milvus

Start Milvus Container

console
$ docker start milvus

Restart Milvus Container

console
$ docker restart milvus

Configure Firewall for Milvus

Milvus uses two ports for client communication and monitoring. Port 19530 handles gRPC client connections for data operations, while port 9091 exposes health checks and Prometheus metrics.

Install Python Client for Testing

Milvus provides a Python SDK called PyMilvus for interacting with the database. You will use this client to test your installation by connecting to the Milvus server and performing basic vector operations.

Test Milvus Installation

Create a Python script to connect to your Milvus server and perform basic operations. This test verifies that the server accepts connections, creates collections, inserts vectors, and executes similarity searches.

View Container Resource Usage

Monitor the resource consumption of your Milvus container to ensure it has adequate memory and CPU for your workloads.

Conclusion

In this guide, you have installed Milvus vector database on Ubuntu 26.04 using Docker, created persistent storage directories for data and logs, configured the firewall to expose the required ports, and tested the installation with the PyMilvus Python SDK. You also learned how to manage the Milvus container with Docker commands and verify the service is ready to serve requests. Now that you have Milvus running, consider integrating it with your machine learning pipelines to index and search vector embeddings from models like BERT, ResNet, or CLIP for semantic search, image retrieval, or recommendation system applications.