Docker Compose を使用して Milvus を実行する(Linux)

このページでは、Docker Compose を使用して Docker 内で Milvus インスタンスを起動する方法について説明します。

前提条件

Milvusのインストール

Milvusのリポジトリには、Docker Composeの設定ファイルが用意されています。v3.0.5用の設定ファイルをダウンロードし、新しいデプロイを開始してください:

# Download the configuration file
$ wget https://github.com/milvus-io/milvus/releases/download/v3.0.5/milvus-standalone-docker-compose.yaml -O docker-compose.yaml

# Start Milvus
$ sudo docker compose up -d

Creating milvus-etcd  ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done

デフォルトのデプロイ(v3.0.5): docker compose up -d は、milvus-etcd (メタデータ)、milvus-minio (オブジェクトストレージ)、milvus-standalone の 3 つの長期稼働コンテナを起動します。メッセージキューにはWoodpecker(組み込み型、WAL バックエンドとして MinIO / オブジェクトストレージを使用)が使用されるため、別途メッセージキュー用コンテナは必要ありません。

また、この設定では、データディレクトリの所有権を設定するために、ワンショットでmilvus-volume-init サービスも実行されます。このタスクが完了すると、サービスは終了します。

バージョンごとのメッセージキューのデフォルト設定:

  • 2.5.x— デフォルトのメッセージキューはRocksMQです。
  • 2.6.x 以降— デフォルトのメッセージキューはWoodpecker(組み込み型)です。

インストールするリリースに付属する設定を使用してください。既存のデプロイメントについては、設定を新規インストール用ファイルで置き換えるのではなく、アップグレード手順に従ってください。

  • docker compose が利用できない場合は、Dockerの手順に従ってComposeプラグインをインストールしてください。

  • イメージの取得で問題が発生した場合は、問題の詳細を明記の上、community@zilliz.comまでご連絡ください。必要なサポートを提供いたします。

Milvusの起動後、

  • milvus-standalone、milvus-minio、およびmilvus-etcdという名前のコンテナが起動します。
    • milvus-etcdコンテナはホストに対してポートを公開せず、そのデータを現在のフォルダ内のvolumes/etcdにマッピングします。
    • milvus-minioコンテナは、デフォルトの認証情報を使用してローカルでポート9000および9001を提供し、そのデータを現在のフォルダ内のvolumes/minioにマッピングします。
    • milvus-standaloneコンテナは、デフォルト設定でローカルのポート19530を提供し、そのデータを現在のフォルダ内のvolumes/milvusにマッピングします。

以下のコマンドを使用して、コンテナが起動して正常に動作しているかどうかを確認できます。

$ docker compose ps

NAME                IMAGE   COMMAND                  SERVICE      CREATED         STATUS                   PORTS
milvus-etcd         …       "etcd -advertise-cli…"   etcd         2 minutes ago   Up 2 minutes (healthy)   2379-2380/tcp
milvus-minio        …       "/usr/bin/docker-ent…"   minio        2 minutes ago   Up 2 minutes (healthy)   9000-9001/tcp
milvus-standalone   …       "/tini -- milvus run…"   standalone   2 minutes ago   Up 2 minutes (healthy)   0.0.0.0:9091->9091/tcp, 0.0.0.0:19530->19530/tcp

また、http://127.0.0.1:9091/webui/ から Milvus WebUI にアクセスして、お使いの Milvus インスタンスの詳細を確認することもできます。詳細については、Milvus WebUI を参照してください。

実行中のサーバーを試すには、クイックスタートの「既存のMilvusサーバーを使用する」手順に従い、http://localhost:19530 に接続してください。別のMilvus Liteデータベースを起動してしまう「.db 」のローカル接続ブロックは使用しないでください。

(オプション)Milvusの設定を更新する

ニーズに合わせて Milvus の設定を更新するには、milvus-standalone コンテナ内の/milvus/configs/user.yaml ファイルを変更する必要があります。

  1. milvus-standalone コンテナにアクセスします。

    docker exec -it milvus-standalone bash
    
  2. デフォルトの設定を上書きするために、追加の設定を追加します。 以下では、デフォルトのproxy.healthCheckTimeout を上書きする必要があることを前提としています。適用可能な設定項目については、「システム設定」を参照してください。

    cat << EOF > /milvus/configs/user.yaml
    # Extra config to override default milvus.yaml
    proxy:
      healthCheckTimeout: 1000 # ms, the interval that to do component healthy check
    EOF
    
  3. 変更を適用するために、milvus-standalone コンテナを再起動します。

    docker restart milvus-standalone
    

Milvus の停止と削除

このコンテナは、次のように停止および削除できます。

# Stop Milvus
$ sudo docker compose down

# Delete service data
$ sudo rm -rf volumes

既存のデプロイメントをアップグレードする

Milvus 2.6.x スタンドアロンデプロイメントの場合は、「Docker Compose を使用した Milvus スタンドアロンのアップグレード」の手順に従ってください。Milvus イメージを変更する前に、メタデータと永続データをバックアップし、既存の依存関係と設定を保持し、文書化されているソースからターゲットへのアップグレードパスを検証してください。 古いデプロイメントの Compose ファイルを、上記の新規インストール用設定で置き換えないでください。

メッセージキューの制限事項: Milvus v3.0.5 へアップグレードする際は、現在のメッセージキューの選択を維持する必要があります。アップグレード中に異なるメッセージキューシステムへ切り替えることはサポートされていません。メッセージキューシステムの変更に対するサポートは、将来のバージョンで提供される予定です。

Milvus 2.6.x 以降では Woodpecker がデフォルトとなり、2.5.x のデプロイメントではRocksMQ がデフォルトとなります。アップグレード対象のデプロイメントがまだ RocksMQ を実行している場合は、Milvus イメージを変更する前に `user.yaml ` でこれを固定してください。これにより、アップグレード後のインスタンスは新しいデフォルトで起動するのではなく、既存のメッセージキューを維持します。

# user.yaml — keep RocksMQ across the upgrade
mq:
  type: rocksmq

アップグレード後のインスタンスが v3.0.5 で稼働し始めたら、Milvus 3.0 以降で利用可能な「メッセージキューの切り替え」機能を使用して、RocksMQ から Woodpecker へ移行できます。

オプションの依存関係

このデプロイメントでは、メッセージングにWoodpecker(組み込み型、MinIO WAL バックエンド)、メタデータにetcd、オブジェクトストレージにMinIOを使用しています。別のメッセージキューを使用する場合や、外部のオブジェクトストレージ/メタデータに接続する場合は、以下を参照してください:

Storage V3はデフォルトで無効になっています。Storage V3に依存する機能を使用する前に、有効にしてください。要件および互換性に関する考慮事項については、「Storage V3」を参照してください。

次の手順

Docker に Milvus をインストールしたら、次のことができます:

翻訳DeepL

Office Hours

ミルバス営業時間

Milvusの専門家であるZillizから、本番導入の支援を受けましょう。

無料1:1セッションを予約する

マネージド Milvus を無料で試す

Zilliz Cloud は手間いらず、Milvus を基盤に 10 倍高速です。

始める
フィードバック

このページは役に立ちましたか ?