Register now open for the virtual Milvus Community Conf2020!Join us on Oct.17th, 2020.

Install GPU-enabled Milvus


System requirements

Operating system Supported versions
CentOS 7.5 or higher
Ubuntu LTS 18.04 or higher

Hardware requirements

Component Recommended configuration
CPU Intel CPU Sandy Bridge or higher.
CPU instruction set
  • SSE42
  • AVX
  • AVX2
  • AVX512
GPU NVIDIA Pascal or higher
RAM 8 GB or more (depends on data volume)
Hard drive SATA 3.0 SSD or higher

Software requirements

Software Version
Docker 19.03 or higher
NVIDIA driver 418 or higher

Confirm Docker status

Confirm that the Docker daemon is running in the background:

$ docker info
  • If you do not see the server listed, start the Docker daemon.
  • On Linux, Docker needs sudo privileges. To run Docker commands without sudo privileges, create a docker group and add your users (see Post-installation steps for Linux for details).

Pull Milvus image

Pull the GPU-enabled image:

$ docker pull milvusdb/milvus:0.10.0-gpu-d061620-5f3c00
If the pulling is too slow or fails constantly, see Operational FAQ for possible solutions.

Download configuration files

$ mkdir -p /home/$USER/milvus/conf
$ cd /home/$USER/milvus/conf
$ wget
If you cannot download configuration files via the wget command, you can create a server_config.yaml file under /home/$USER/milvus/conf, and then copy the content from server config to it.

Start Docker container

Before starting Docker container, you must set enable to true in gpu section of server_config.yaml.

Start Docker container and map the paths to the local files to the container:

$ docker run -d --name milvus_gpu_0.10.0 --gpus all \
-p 19530:19530 \
-p 19121:19121 \
-v /home/$USER/milvus/db:/var/lib/milvus/db \
-v /home/$USER/milvus/conf:/var/lib/milvus/conf \
-v /home/$USER/milvus/logs:/var/lib/milvus/logs \
-v /home/$USER/milvus/wal:/var/lib/milvus/wal \

The docker run options used in the above command are defined as follows:

  • -d: Runs container in the background and prints container ID.
  • --name: Assigns a name to the container.
  • --gpus: Assigns GPU devices to the container. ('all' represents all GPUs.)
  • -p: Publishes a container’s port(s) to the host.
  • -v: Mounts the directory into the container.

Confirm the running state of Milvus:

$ docker ps

If the Milvus server does not start up properly, check the error logs:

# Get the ID of the container running Milvus.
$ docker ps -a
# Check docker logs.
$ docker logs <milvus container id>

What's next

© 2019 - 2020 Milvus. All rights reserved.