diff --git a/Database/image-list.yml b/Database/image-list.yml index e163fb726dd87e4354c66cdbadd6cecb6f5c1380..63f0dba01656943ca73525ba43067042038135cb 100644 --- a/Database/image-list.yml +++ b/Database/image-list.yml @@ -16,4 +16,5 @@ images: mariadb: mariadb tidb: tidb neo4j: neo4j - oceanbase: oceanbase \ No newline at end of file + oceanbase: oceanbase + milvus: milvus \ No newline at end of file diff --git a/Database/influxdb/doc/image-info.yml b/Database/influxdb/doc/image-info.yml index 3e4ef2764f82e160acd322bae6d404bd98d466f9..ff56fbf46d74e6911ec0371633d597be0cb7aae9 100644 --- a/Database/influxdb/doc/image-info.yml +++ b/Database/influxdb/doc/image-info.yml @@ -1,35 +1,38 @@ -name: mariadb +name: influxdb category: database -description: MariaDB 服务器是社区开发的 MySQL 服务器分支。MariaDB 由原 MySQL 团队的核心成员创建,并积极与外部开发者合作,致力于提供业界功能最丰富、最稳定、许可最合理的开放 SQL 服务器。 +description: InfluxDB Core 是一款用于收集、处理、转换和存储事件及时间序列数据的数据库,非常适合需要实时数据采集和快速查询响应时间的用例,用于构建用户界面、监控和自动化解决方案。 environment: | 本应用在Docker环境中运行,安装Docker执行如下命令 ``` yum install -y docker ``` tags: | - mariadb镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + influxdb镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 | Tag | Currently | Architectures | |----------|-------------|------------------| - |[11.7.2-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/mariadb/11.7.2/24.03-lts-sp1/Dockerfile)| mariadb 11.7.2 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + |[2.7.11-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/influxdb/2.7.11/24.03-lts-sp1/Dockerfile)| Influxdb 2.7.11 on openEuler 24.03-LTS-SP1 | amd64, arm64 | download: | 拉取镜像到本地 ``` - docker pull openeuler/mariadb:{Tag} + docker pull openeuler/influxdb:{Tag} ``` usage: | - 启动mariadb实例: + 启动influxdb实例: ``` - docker network create some-network - docker run --detach --network some-network --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw openeuler/mariadb:{Tag} + docker run -it -p 8086:8086 openeuler/influxdb:{Tag} + ``` + 终端提示以下信息则表示influxdb已经ready: + ``` + 2025-07-02T02:07:01.507857Z info Listening {"log_id": "0xUE2JM0000", "service": "tcp-listener", "transport": "http", "addr": ":8086", "port": 8086} + 2025-07-02T02:07:01.507881Z info Starting {"log_id": "0xUE2JM0000", "service": "telemetry", "interval": "8h"} ``` - 启动后,用户可以从[MariaDB command line client](https://mariadb.com/kb/en/mariadb-command-line-client/)访问MariaDB。 -license: GPL-2.0 license +license: Apache-2.0 license similar_packages: - - MySQL + - N/A dependency: - N/A \ No newline at end of file diff --git a/Database/mariadb/doc/image-info.yml b/Database/mariadb/doc/image-info.yml index ff56fbf46d74e6911ec0371633d597be0cb7aae9..3e4ef2764f82e160acd322bae6d404bd98d466f9 100644 --- a/Database/mariadb/doc/image-info.yml +++ b/Database/mariadb/doc/image-info.yml @@ -1,38 +1,35 @@ -name: influxdb +name: mariadb category: database -description: InfluxDB Core 是一款用于收集、处理、转换和存储事件及时间序列数据的数据库,非常适合需要实时数据采集和快速查询响应时间的用例,用于构建用户界面、监控和自动化解决方案。 +description: MariaDB 服务器是社区开发的 MySQL 服务器分支。MariaDB 由原 MySQL 团队的核心成员创建,并积极与外部开发者合作,致力于提供业界功能最丰富、最稳定、许可最合理的开放 SQL 服务器。 environment: | 本应用在Docker环境中运行,安装Docker执行如下命令 ``` yum install -y docker ``` tags: | - influxdb镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + mariadb镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 | Tag | Currently | Architectures | |----------|-------------|------------------| - |[2.7.11-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/influxdb/2.7.11/24.03-lts-sp1/Dockerfile)| Influxdb 2.7.11 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + |[11.7.2-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/mariadb/11.7.2/24.03-lts-sp1/Dockerfile)| mariadb 11.7.2 on openEuler 24.03-LTS-SP1 | amd64, arm64 | download: | 拉取镜像到本地 ``` - docker pull openeuler/influxdb:{Tag} + docker pull openeuler/mariadb:{Tag} ``` usage: | - 启动influxdb实例: + 启动mariadb实例: ``` - docker run -it -p 8086:8086 openeuler/influxdb:{Tag} - ``` - 终端提示以下信息则表示influxdb已经ready: - ``` - 2025-07-02T02:07:01.507857Z info Listening {"log_id": "0xUE2JM0000", "service": "tcp-listener", "transport": "http", "addr": ":8086", "port": 8086} - 2025-07-02T02:07:01.507881Z info Starting {"log_id": "0xUE2JM0000", "service": "telemetry", "interval": "8h"} + docker network create some-network + docker run --detach --network some-network --name some-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw openeuler/mariadb:{Tag} ``` + 启动后,用户可以从[MariaDB command line client](https://mariadb.com/kb/en/mariadb-command-line-client/)访问MariaDB。 -license: Apache-2.0 license +license: GPL-2.0 license similar_packages: - - N/A + - MySQL dependency: - N/A \ No newline at end of file diff --git a/Database/milvus/2.5.14/24.03-lts-sp2/Dockerfile b/Database/milvus/2.5.14/24.03-lts-sp2/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..b0769b789be19c50c3ed86fbc95cd6b15b49ae64 --- /dev/null +++ b/Database/milvus/2.5.14/24.03-lts-sp2/Dockerfile @@ -0,0 +1,54 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp2 +FROM ${BASE} AS builder + +ARG VERSION=2.5.14 +ARG GOLANG_VERSION=1.24.2 +ARG TARGETARCH + +RUN yum install -y \ + sudo vim wget gcc g++ cmake make git which \ + gfortran zip unzip libatomic texinfo numa* ninja* libstdc* pkg-config libuuid-devel \ + python3-pip openblas-devel libaio perl-IPC-Cmd libasan libomp hdf5 hdf5-devel && \ + yum clean all && \ + wget -O go.tar.gz https://golang.google.cn/dl/go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz && \ + tar -xvf go.tar.gz -C /usr/local && \ + rm -rf go.tar.gz +ENV PATH=/usr/local/go/bin:$PATH + +RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=1.73 -y && \ + pip install conan==1.61.0 +ENV PATH=/root/.cargo/bin:$PATH + +RUN git clone -b v${VERSION} https://github.com/milvus-io/milvus.git && \ + cd milvus/ && \ + ./scripts/install_deps.sh && \ + CXXFLAGS="-I/usr/include/openblas" make build-cpp && \ + make build-go + + +FROM openeuler/openeuler:24.03-lts-sp2 + +ARG TARGETARCH + +RUN yum install -y libatomic openblas-devel libomp libstdc++ && \ + yum clean all + +RUN curl -fSL -o etcd-v3.5.0-linux-$TARGETARCH.tar.gz https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-$TARGETARCH.tar.gz && \ + tar zxvf etcd-v3.5.0-linux-$TARGETARCH.tar.gz && \ + cp -r etcd-v3.5.0-linux-$TARGETARCH /usr/local/etcd && \ + rm -rf etcd-v3.5.0-linux-$TARGETARCH.tar.gz etcd-v3.5.0-linux-$TARGETARCH +ENV PATH=/usr/local/etcd:$PATH + +RUN curl -fSL -o minio https://dl.min.io/server/minio/release/linux-$TARGETARCH/minio && \ + chmod +x ./minio && \ + mv ./minio /usr/bin/ + +WORKDIR /milvus + +COPY --from=builder /milvus/internal/core/output/lib64/ /milvus/lib64/ +COPY --from=builder /milvus/internal/core/output/lib/*.so* /milvus/lib/ +COPY --from=builder /milvus/configs /milvus/configs +COPY --from=builder /milvus/bin/ /milvus/bin/ + +ENV LD_LIBRARY_PATH=/milvus/lib:/milvus/lib64:/lib64 +ENV PATH=$PATH:/milvus/bin/ \ No newline at end of file diff --git a/Database/milvus/README.md b/Database/milvus/README.md new file mode 100644 index 0000000000000000000000000000000000000000..b1667ba2ce35782b3303f5345af95612c40cf0d7 --- /dev/null +++ b/Database/milvus/README.md @@ -0,0 +1,99 @@ +# Quick reference + +- The official milvus docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# Milvus | openEuler +Current milvus docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +Milvus is a high-performance vector database built for scale. It powers AI applications by efficiently organizing and searching vast amounts of unstructured data, such as text, images, and multi-modal information. + +Learn more about milvus at [https://milvus.io/](https://milvus.io/). + +# Supported tags and respective Dockerfile links +The tag of each `milvus` docker image is consist of the version of `milvus` and the version of basic image. The details are as follows +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[2.5.14-oe2403sp2](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/milvus/2.5.14/24.03-lts-sp2/Dockerfile)| Milvus 2.5.14 on openEuler 24.03-LTS-SP2 | amd64, arm64 | + +# Usage + +- Step 1: Launch Milvus instance + ``` + docker run --name euler-milvus -it openeuler/milvus:latest + ``` +- Step 2: Start etcd + ``` + etcd --data-dir=/data/milvus/data/etcd-data/ & + ``` + The following message indicates that etcd is ready + ``` + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d received MsgPreVoteResp from 8e9e05c52164694d at term 1"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d became candidate at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d became leader at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","caller":"etcdserver/server.go:2476","msg":"setting up initial cluster version using v2 API","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"membership/cluster.go:531","msg":"set initial cluster version","cluster-id":"cdf818194e3a8c32","local-member-id":"8e9e05c52164694d","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"api/capability.go:75","msg":"enabled capabilities for version","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdserver/server.go:2500","msg":"cluster version is updated","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdserver/server.go:2027","msg":"published local member to cluster through raft","local-member-id":"8e9e05c52164694d","local-member-attributes":"{Name:default ClientURLs:[http://localhost:2379]}","request-path":"/0/members/8e9e05c52164694d/attributes","cluster-id":"cdf818194e3a8c32","publish-timeout":"7s"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"embed/serve.go:98","msg":"ready to serve client requests"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdmain/main.go:47","msg":"notifying init daemon"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdmain/main.go:53","msg":"successfully notified init daemon"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"embed/serve.go:140","msg":"serving client traffic insecurely; this is strongly discouraged!","address":"127.0.0.1:2379"} + ``` +- Step 3: Start MinIO + ``` + minio server /data/milvus/data/minio-data/ & + ``` + The following message indicates that MinIO is ready + ``` + Copyright: 2015-2025 MinIO, Inc. + License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html + Version: RELEASE.2025-06-13T11-33-47Z (go1.24.4 linux/amd64) + + API: http://172.17.0.4:9000 http://127.0.0.1:9000 + RootUser: minioadmin + RootPass: minioadmin + + WebUI: http://172.17.0.4:41483 http://127.0.0.1:41483 + RootUser: minioadmin + RootPass: minioadmin + + CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart + $ mc alias set 'myminio' 'http://172.17.0.4:9000' 'minioadmin' 'minioadmin' + + Docs: https://docs.min.io + WARN: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables + ``` + +- Step 4: Start Milvus Standalone + ``` + milvus run standalone + ``` + The following message indicates that Milvus is ready + ``` + [2025/07/07 07:33:31.307 +00:00] [INFO] [distance/calc_distance_amd64.go:14] ["Hook avx for go simd distance computation"] + 2025/07/07 07:33:31 maxprocs: Leaving GOMAXPROCS=16: CPU quota undefined + + __ _________ _ ____ ______ + / |/ / _/ /| | / / / / / __/ + / /|_/ // // /_| |/ / /_/ /\ \ + /_/ /_/___/____/___/\____/___/ + + Welcome to use Milvus! + Version: 2.5.14 + Built: Mon Jul 7 07:32:02 UTC 2025 + GitCommit: 062fc368a5 + GoVersion: go version go1.24.2 linux/amd64 + + TotalMem: 66068840448 + UsedMem: 56733696 + ``` + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Database/milvus/doc/image-info.yml b/Database/milvus/doc/image-info.yml new file mode 100644 index 0000000000000000000000000000000000000000..0cbf33cf02e69381e37f666ca6464c8f39ea28a5 --- /dev/null +++ b/Database/milvus/doc/image-info.yml @@ -0,0 +1,103 @@ +name: milvus +category: database +description: Milvus是业界领先的一种高性能、高扩展性的向量数据库,它提供强大的数据建模功能,使您能够将非结构化或多模式数据组织成结构化的Collections。它支持多种数据类型,适用于不同的属性模型。Milvus还支持业界多种先进的索引算法,用以提升在向量检索方面的查询效率。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + milvus镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[2.7.11-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Database/milvus/2.7.11/24.03-lts-sp1/Dockerfile)| milvus 2.7.11 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/milvus:{Tag} + ``` + +usage: | + - Step 1: 启动Milvus实例 + ``` + docker run --name euler-milvus -it openeuler/milvus:latest + ``` + + - Step 2: 运行etcd + ``` + etcd --data-dir=/data/milvus/data/etcd-data/ & + ``` + 以下终端输出的信息表示etcd运行正常 + ``` + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d received MsgPreVoteResp from 8e9e05c52164694d at term 1"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d became candidate at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"8e9e05c52164694d became leader at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 2"} + {"level":"info","ts":"2025-07-07T03:01:42.568Z","caller":"etcdserver/server.go:2476","msg":"setting up initial cluster version using v2 API","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"membership/cluster.go:531","msg":"set initial cluster version","cluster-id":"cdf818194e3a8c32","local-member-id":"8e9e05c52164694d","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"api/capability.go:75","msg":"enabled capabilities for version","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdserver/server.go:2500","msg":"cluster version is updated","cluster-version":"3.5"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdserver/server.go:2027","msg":"published local member to cluster through raft","local-member-id":"8e9e05c52164694d","local-member-attributes":"{Name:default ClientURLs:[http://localhost:2379]}","request-path":"/0/members/8e9e05c52164694d/attributes","cluster-id":"cdf818194e3a8c32","publish-timeout":"7s"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"embed/serve.go:98","msg":"ready to serve client requests"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdmain/main.go:47","msg":"notifying init daemon"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"etcdmain/main.go:53","msg":"successfully notified init daemon"} + {"level":"info","ts":"2025-07-07T03:01:42.570Z","caller":"embed/serve.go:140","msg":"serving client traffic insecurely; this is strongly discouraged!","address":"127.0.0.1:2379"} + ``` + - Step 3: 运行MinIO + ``` + minio server /data/milvus/data/minio-data/ & + ``` + 以下终端输出的信息表示MinIO运行正常 + ``` + Copyright: 2015-2025 MinIO, Inc. + License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html + Version: RELEASE.2025-06-13T11-33-47Z (go1.24.4 linux/amd64) + + API: http://172.17.0.4:9000 http://127.0.0.1:9000 + RootUser: minioadmin + RootPass: minioadmin + + WebUI: http://172.17.0.4:41483 http://127.0.0.1:41483 + RootUser: minioadmin + RootPass: minioadmin + + CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart + $ mc alias set 'myminio' 'http://172.17.0.4:9000' 'minioadmin' 'minioadmin' + + Docs: https://docs.min.io + WARN: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables + ``` + + - Step 4: 运行单机Milvus + ``` + milvus run standalone + ``` + 以下终端输出的信息表示Milvus运行正常 + ``` + [2025/07/07 07:33:31.307 +00:00] [INFO] [distance/calc_distance_amd64.go:14] ["Hook avx for go simd distance computation"] + 2025/07/07 07:33:31 maxprocs: Leaving GOMAXPROCS=16: CPU quota undefined + + __ _________ _ ____ ______ + / |/ / _/ /| | / / / / / __/ + / /|_/ // // /_| |/ / /_/ /\ \ + /_/ /_/___/____/___/\____/___/ + + Welcome to use Milvus! + Version: 2.5.14 + Built: Mon Jul 7 07:32:02 UTC 2025 + GitCommit: 062fc368a5 + GoVersion: go version go1.24.2 linux/amd64 + + TotalMem: 66068840448 + UsedMem: 56733696 + ``` + +license: Apache-2.0 license +similar_packages: + - N/A +dependency: + - N/A + \ No newline at end of file diff --git a/Database/milvus/doc/picture/logo.png b/Database/milvus/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..93668ab3260e85d03fdccfe9ad16db0ef5250bf6 Binary files /dev/null and b/Database/milvus/doc/picture/logo.png differ diff --git a/Database/milvus/meta.yml b/Database/milvus/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..fe20e024ed5f926be1b49e29b262e07162761ba4 --- /dev/null +++ b/Database/milvus/meta.yml @@ -0,0 +1,2 @@ +2.5.14-oe2403sp2: + path: 2.5.14/24.03-lts-sp2/Dcokerfile \ No newline at end of file