Docker Compose を使用して Milvus を実行する(Linux)
このページでは、Docker Compose を使用して Docker 内で Milvus インスタンスを起動する方法について説明します。
前提条件
- Docker をインストールします。
- Docker Compose プラグイン(V2 以降)をインストールし、
docker compose versionで動作を確認してください。この手順では、従来のdocker-composeV1 コマンドではなく、docker composeを使用します。 - インストール前に、ハードウェアおよびソフトウェアの要件を確認してください。
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 ファイルを変更する必要があります。
milvus-standaloneコンテナにアクセスします。docker exec -it milvus-standalone bashデフォルトの設定を上書きするために、追加の設定を追加します。 以下では、デフォルトの
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変更を適用するために、
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を使用しています。別のメッセージキューを使用する場合や、外部のオブジェクトストレージ/メタデータに接続する場合は、以下を参照してください:
- メッセージキュー:Woodpecker(デフォルト) ·Pulsar·Kafka·RocksMQ
- オブジェクトストレージ:MinIO(デフォルト) ·AWS S3·Azure Blob·GCP Cloud Storage·Aliyun OSS·Tencent COS·Huawei OBS·S3互換
- メタデータ:etcd
Storage V3はデフォルトで無効になっています。Storage V3に依存する機能を使用する前に、有効にしてください。要件および互換性に関する考慮事項については、「Storage V3」を参照してください。
次の手順
Docker に Milvus をインストールしたら、次のことができます:
「クイックスタート」を参照して、Milvusの機能を確認してください。
Milvusの基本的な操作を学びましょう:
クラウド上にMilvusクラスターをデプロイする:
Milvusの可観測性と管理のための直感的なWebインターフェース「Milvus WebUI」をご覧ください。
Milvusデータのバックアップを行うオープンソースツール「Milvus Backup」をご覧ください。
Milvusのデバッグや動的な構成更新を行うためのオープンソースツール「Birdwatcher」をご覧ください。
直感的な Milvus 管理のためのオープンソース GUI ツール「Attu」をご覧ください。