Executar o Milvus com o Docker Compose (Linux)
Esta página explica como iniciar uma instância do Milvus no Docker utilizando o Docker Compose.
Pré-requisitos
- Instale o Docker.
- Instale o plugin do Docker Compose (V2 ou posterior) e verifique-o com o comando «
docker compose version». Estas instruções utilizam o comando «docker compose», e não o comando antigo «docker-compose» da versão V1. - Verifique os requisitos de hardware e software antes da instalação.
Instalar o Milvus
O Milvus disponibiliza um ficheiro de configuração do Docker Compose no repositório do Milvus. Descarregue a configuração para a versão 3.0.5 e inicie uma nova implementação:
# 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
Implantação padrão (v3.0.5): docker compose up -d inicia três contentores de execução prolongada — milvus-etcd (metadados), milvus-minio (armazenamento de objetos) e milvus-standalone. A fila de mensagens é o Woodpecker (incorporado, com o MinIO / armazenamento de objetos como backend WAL), pelo que não é necessário um contentor separado para a fila de mensagens.
A configuração também executa o serviço «one-shot» milvus-volume-init para preparar a propriedade do diretório de dados. Este serviço encerra após concluir essa tarefa.
Fila de mensagens predefinida por versão:
- 2.5.x — a fila de mensagens predefinida é o RocksMQ.
- 2.6.x e versões posteriores — a fila de mensagens predefinida é o Woodpecker (incorporado).
Utilize a configuração anexada à versão que pretende instalar. Para uma implementação existente, siga as instruções de atualização em vez de substituir a sua configuração por um ficheiro de nova instalação.
Se o
docker composenão estiver disponível, instale o plugin Compose seguindo as instruções do Docker.Se tiver alguma dificuldade ao descarregar a imagem, contacte-nos através do endereço community@zilliz.com com detalhes sobre o problema, e iremos prestar-lhe o apoio necessário.
Após iniciar o Milvus,
- os contentores denominados milvus-standalone, milvus-minio e milvus-etcd estão em funcionamento.
- O contentor milvus-etcd não expõe quaisquer portas ao anfitrião e mapeia os seus dados para volumes/etcd na pasta atual.
- O contentor milvus-minio serve as portas 9000 e 9001 localmente com as credenciais de autenticação predefinidas e mapeia os seus dados para volumes/minio na pasta atual.
- O contentor milvus-standalone serve as portas 19530 localmente com as definições predefinidas e mapeia os seus dados para volumes/milvus na pasta atual.
Pode verificar se os contentores estão em funcionamento utilizando o seguinte comando:
$ 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
Também pode aceder à interface Web do Milvus em http://127.0.0.1:9091/webui/ para saber mais sobre a sua instância do Milvus. Para mais detalhes, consulte a interface Web do Milvus.
Para testar o servidor em execução, siga o caminho «Utilizar um servidor Milvus existente» no Guia de Início Rápido e ligue-se a http://localhost:19530. Não utilize o bloco de ligação local .db, que inicia uma base de dados Milvus Lite separada.
(Opcional) Atualizar as configurações do Milvus
Para atualizar a configuração do Milvus de acordo com as suas necessidades, terá de modificar o ficheiro /milvus/configs/user.yaml dentro do contentor milvus-standalone.
Aceda ao contentor
milvus-standalone.docker exec -it milvus-standalone bashAdicione configurações adicionais para substituir as predefinidas. O que se segue pressupõe que precisa de substituir o ficheiro
proxy.healthCheckTimeoutpredefinido. Para os itens de configuração aplicáveis, consulte Configuração do sistema.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 EOFReinicie o contentor
milvus-standalonepara aplicar as alterações.docker restart milvus-standalone
Parar e eliminar o Milvus
Pode parar e eliminar este contentor da seguinte forma
# Stop Milvus
$ sudo docker compose down
# Delete service data
$ sudo rm -rf volumes
Atualizar uma implementação existente
Para uma implementação autónoma do Milvus 2.6.x, siga as instruções em Atualizar o Milvus autónomo com o Docker Compose. Faça uma cópia de segurança dos metadados e dos dados persistentes, preserve as dependências e a configuração existentes e valide o caminho de atualização documentado de origem para destino antes de alterar a imagem do Milvus. Não substitua o ficheiro Compose de uma implementação mais antiga pela configuração de nova instalação acima referida.
Limitações da fila de mensagens: Ao atualizar para o Milvus v3.0.5, deve manter a sua escolha atual de fila de mensagens. A alternância entre diferentes sistemas de filas de mensagens durante a atualização não é suportada. O suporte à alteração de sistemas de filas de mensagens estará disponível em versões futuras.
O Milvus 2.6.x e versões posteriores utilizam o Woodpecker por predefinição, enquanto as implementações 2.5.x utilizam o RocksMQ por predefinição. Se a implementação que está a atualizar ainda utilizar o RocksMQ, fixe-o em « user.yaml » antes de alterar a imagem do Milvus, para que a instância atualizada mantenha a sua fila de mensagens existente em vez de iniciar com a nova predefinição:
# user.yaml — keep RocksMQ across the upgrade
mq:
type: rocksmq
Depois de a instância atualizada estar a funcionar na v3.0.5, pode mudar do RocksMQ para o Woodpecker com a funcionalidade «Switch Message Queue», disponível no Milvus 3.0 e versões posteriores.
Dependências opcionais
Esta implementação executa o Woodpecker (incorporado, backend MinIO WAL) para mensagens, o etcd para metadados e o MinIO para armazenamento de objetos. Para utilizar uma fila de mensagens diferente ou ligar armazenamento de objetos/metadados externos, consulte:
- Fila de mensagens: Woodpecker (padrão) · Pulsar · Kafka · RocksMQ
- Armazenamento de objetos: MinIO (padrão) · AWS S3 · Azure Blob · GCP Cloud Storage · Aliyun OSS · Tencent COS · Huawei OBS · Compatível com S3
- Metadados: etcd
O Storage V3 está desativado por predefinição. Ative-o antes de utilizar funcionalidades que dependam dele. Para conhecer os requisitos e as considerações de compatibilidade, consulte Storage V3.
Próximos passos
Depois de instalar o Milvus no Docker, pode:
Consulte o Guia de Início Rápido para ver o que o Milvus pode fazer.
Aprender as operações básicas do Milvus:
Implemente o seu cluster Milvus nas nuvens:
Explore o Milvus WebUI, uma interface web intuitiva para a monitorização e gestão do Milvus.
Explore o Milvus Backup, uma ferramenta de código aberto para cópias de segurança dos dados do Milvus.
Explore o Birdwatcher, uma ferramenta de código aberto para depuração do Milvus e atualizações dinâmicas de configuração.
Explore o Attu, uma ferramenta GUI de código aberto para a gestão intuitiva do Milvus.