diff --git a/install.md b/install.md index f53586af36831e7cde470b6c9dc65dc5c3d915e4..ae9c262f8b6bff32e4f796495f8477f1938910e0 100644 --- a/install.md +++ b/install.md @@ -1,6 +1,13 @@ # Install Milvus from Source Code -## Software requirements +- [Build from source](#build-from-source) +- [Compile Milvus on Docker](#compile-milvus-on-docker) + +If you encounter any problems/issues compiling Milvus from source, please refer to [Troubleshooting](#troubleshooting). + +## Build from source + +### Requirements - Ubuntu 18.04 or higher @@ -8,21 +15,21 @@ - CMake 3.12 or higher -##### For GPU version, you will also need: +##### For GPU-enabled version, you will also need: - CUDA 10.0 or higher - NVIDIA driver 418 or higher -## Compilation +### Compilation -### Step 1 Install dependencies +#### Step 1 Install dependencies ```shell $ cd [Milvus root path]/core $ ./ubuntu_build_deps.sh ``` -### Step 2 Build +#### Step 2 Build ```shell $ cd [Milvus root path]/core @@ -31,7 +38,7 @@ or $ ./build.sh -t Release ``` -By default, it will build CPU version. To build GPU version, add `-g` option +By default, it will build CPU-only version. To build GPU version, add `-g` option ```shell $ ./build.sh -g ``` @@ -43,7 +50,7 @@ $./build.sh -h When the build is completed, all the stuff that you need in order to run Milvus will be installed under `[Milvus root path]/core/milvus`. -## Launch Milvus server +### Launch Milvus server ```shell $ cd [Milvus root path]/core/milvus @@ -68,14 +75,87 @@ To stop Milvus server, run: $ ./stop_server.sh ``` +## Compile Milvus on Docker + +With this dockerfile, you should be able to compile Milvus on any Linux platform that run Docker. To build a GPU supported Milvus, you neeed to install [NVIDIA Docker](https://github.com/NVIDIA/nvidia-docker/) first. + +### Step 1 Pull Milvus Docker images + +Pull CPU-only image: + +```shell +$ docker pull milvusdb/milvus-cpu-build-env:v0.6.0-ubuntu18.04 +``` + +Pull GPU-enabled image: + +```shell +$ docker pull milvusdb/milvus-gpu-build-env:v0.6.0-ubuntu18.04 +``` +### Step 2 Start the Docker container + +Start a CPU-only container: + +```shell +$ docker run -it -p 19530:19530 -d milvusdb/milvus-cpu-build-env:v0.6.0-ubuntu18.04 +``` + +Start a GPU container: + +```shell +$ docker run — runtime=nvidia -it -p 19530:19530 -d milvusdb/milvus-gpu-build-env:v0.6.0-ubuntu18.04 +``` +To enter the container: + +```shell +$ docker exec -it [container_id] bash +``` +### Step 3 Download Milvus source code + +Download Milvus source code: + +```shell +$ cd /home +$ wget https://github.com/milvus-io/milvus/archive/0.6.0.tar.gz +``` + +Extract the source package: + +```shell +$ tar xvf ./v0.6.0.tar.gz +``` + +The source code is extracted into a folder called `milvus-0.6.0`. To enter its core directory: + +```shell +$ cd ./milvus-0.6.0/core +``` +### Step 4 Compile Milvus in the container + +If you are using a CPU-only image, compile it like this: +```shell +$ ./build.sh -t Release +``` + +If you are using a GPU-enabled image, you need to add a `-g` parameter: +```shell +$ ./build.sh -g -t Release +``` + +Then start Milvus server: +```shell +$ ./start_server.sh +``` + ## Troubleshooting 1. If you encounter the following error when compiling: `protocol https not supported or disabled in libcurl`. First, make sure you have `libcurl4-openssl-dev` installed in your system. -Then try reinstall CMake from source with `--system-curl` option: -```shell -$ ./bootstrap --system-curl -$ make -$ sudo make install -``` - +Then try reinstalling the latest CMake from source with `--system-curl` option: + + ```shell + $ ./bootstrap --system-curl + $ make + $ sudo make install + ``` +If the `--system-curl` command doesn't work, you can also reinstall CMake in **Ubuntu Software** on your local computer.