Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/soulteary/docker-milvus

[WIP] Reliable, highly scalable Milvus docker images
https://github.com/soulteary/docker-milvus

docker docker-image docker-milvus milvus vector

Last synced: 4 days ago
JSON representation

[WIP] Reliable, highly scalable Milvus docker images

Awesome Lists containing this project

README

        

# Docker Milvus

![](https://img.shields.io/badge/Ubuntu-20.04-orange) ![](https://img.shields.io/badge/Ubuntu-22.04-orange) ![](https://img.shields.io/badge/OpenBLAS-0.3.9-red) ![](https://img.shields.io/badge/OpenBLAS-0.3.20-red) ![](https://img.shields.io/badge/Docker-latest-blue)

Reliable, highly scalable Milvus docker images.

## [WIP] Docker prebuilt images

**Mirror will be uploaded tomorrow**

I have built some images so far, you can use `docker pull` to get these images directly.

```bash
docker pull ...
```

Docker Image NameTypeUbuntuOpenBLASGolang

soulteary/milvus:base-ubuntu20.04-openblas0.3.9Base20.040.3.9-
soulteary/milvus:base-ubuntu20.04-openblas0.3.20Base20.040.3.20-
soulteary/milvus:base-ubuntu22.04-openblas0.3.9Base22.040.3.9-
soulteary/milvus:base-ubuntu22.04-openblas0.3.20Base22.040.3.20-
soulteary/milvus:builder-ubuntu20.04-openblas0.3.9-golang1.16.9builder20.040.3.91.16.9
soulteary/milvus:builder-ubuntu20.04-openblas0.3.20-golang1.16.9builder20.040.3.201.16.9
soulteary/milvus:builder-ubuntu22.04-openblas0.3.9-golang1.16.9builder22.040.3.91.16.9
soulteary/milvus:builder-ubuntu22.04-openblas0.3.20-golang1.16.9builder22.040.3.201.16.9
soulteary/milvus:ubuntu20.04-openblas0.3.9-golang1.16.9app20.040.3.91.16.9
soulteary/milvus:ubuntu20.04-openblas0.3.20-golang1.16.9app20.040.3.201.16.9
soulteary/milvus:ubuntu22.04-openblas0.3.9-golang1.16.9app22.040.3.91.16.9
soulteary/milvus:ubuntu22.04-openblas0.3.20-golang1.16.9app22.040.3.201.16.9

## How to build

If you need to build locally, you can refer to the following steps.
### 1. Build base image

Before building milvus, we first need to build a base image that includes openblas (3.9+)

```bash
docker build -t soulteary/milvus:base-ubuntu20.04-openblas0.3.9 -f docker/base/Dockerfile .
```

[Advanced usage](./docs/01.build-openblas.md)

### 2. Build Milvus tools image

When we prepare the base image, we need to build a tool image that includes c++ and golang to build milvus in it.

```bash
docker build -t soulteary/milvus:builder-ubuntu20.04-openblas0.3.9 -f docker/builder/Dockerfile .
```

By default, we will get the latest Milvus code from GitHub, you can get the code from other data sources by adjusting the build parameters. [Advanced usage](./docs/02.build-builder.md)

### 3. Build a tiny Milvus Application image

In the previous build, we have solved the Milvus and related software dependencies that can run normally, so we only need a simple command to generate an image that is easy to transfer.

```bash
docker build -t soulteary/milvus:ubuntu20.04-openblas0.3.9 -f docker/app/Dockerfile .
```

### [WIP] 4. Build a Milvus Application image with debugger

TBD, how to build an image that supports remote debugging.

## PLAN

- [ ] Complete WIP content.
- [ ] Try privatized Action Runner for efficient automated builds.
- [ ] Add TARBALL source code build method.
- [ ] Add an environment that is convenient for golang developers to use.
- [ ] Improve the build of debug images
- [ ] Build Milvus images **in batches**, use openblas 0.3.9-0.3.20, ubuntu 20.04-22.04, golang 1.16-1.18 to build