--- id: install_standalone-docker.md label: Docker related_key: Docker summary: Learn how to install Milvus standalone with Docker. title: Run Milvus in Docker (Linux) --- # Run Milvus in Docker (Linux) This page illustrates how to launch a Milvus instance in Docker. ## Prerequisites - [Install Docker](https://docs.docker.com/get-docker/). - [Check the requirements for hardware and software](prerequisite-docker.md) prior to your installation. ## Install Milvus in Docker Milvus provides an installation script to install it as a docker container. The script is available in the [Milvus repository](https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh). To install Milvus in Docker, just run ```shell # Download the installation script $ curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh # Start the Docker container $ bash standalone_embed.sh start ```
**What's new in v{{var.milvus_release_version}}:** - **Streaming Node**: Enhanced data processing capabilities - **Woodpecker MQ (default)**: This Docker deployment runs Woodpecker as the message queue with the **local filesystem** as its WAL backend, so no external message-queue service is required. See [Woodpecker](woodpecker.md). - **Optimized Architecture**: Consolidated components for better performance Always download the latest script to ensure you get the most recent configurations and architecture improvements. If you want to use [Backup](https://milvus.io/docs/milvus_backup_overview.md) in standalone deployment mode, it is recommended to use the [Docker Compose](https://milvus.io/docs/install_standalone-docker-compose.md) deployment method. If you encounter any issues pulling the image, contact us at community@zilliz.com with details about the problem, and we'll provide you with the necessary support.
After running the installation script: - A docker container named milvus-standalone has been started at port **19530**. - An embed etcd is installed along with Milvus in the same container and serves at port **2379**. Its configuration file is mapped to **embedEtcd.yaml** in the current folder. - To change the default Milvus configuration, add your settings to the **user.yaml** file in the current folder and then restart the service. - The Milvus data volume is mapped to **volumes/milvus** in the current folder. You can access Milvus WebUI at `http://127.0.0.1:9091/webui/` to learn more about the your Milvus instance. For details, refer to [Milvus WebUI](milvus-webui.md). ## (Optional) Update Milvus configurations You can modify the Milvus configurations in the **user.yaml** file in the current folder. For example, to change the `proxy.healthCheckTimeout` to `1000` ms, you can modify the file as follows: ```shell cat << EOF > user.yaml # Extra config to override default milvus.yaml proxy: healthCheckTimeout: 1000 # ms, the interval that to do component healthy check EOF ``` Then restart the service as follows: ```shell $ bash standalone_embed.sh restart ``` For applicable configuration items, refer to [System Configuration](system_configuration.md). ## Upgrade Milvus You can upgrade to the latest version of Milvus using the built-in upgrade command. This automatically downloads the latest configuration and Milvus image: ```shell # Upgrade Milvus to the latest version $ bash standalone_embed.sh upgrade ```
The upgrade command automatically: - Downloads the latest installation script with updated configurations - Pulls the latest Milvus Docker image - Restarts the container with the new version - Preserves your existing data and configurations This is the recommended way to upgrade your Milvus standalone deployment.
## Stop and delete Milvus You can stop and delete this container as follows ```shell # Stop Milvus $ bash standalone_embed.sh stop # Delete Milvus data $ bash standalone_embed.sh delete ``` ## Optional dependencies By default this deployment runs **Woodpecker** (local-filesystem WAL) as the message queue and an **embedded etcd** for metadata — nothing else to install. To use a different message queue or connect external object storage / metadata, see: - Message queue: [Woodpecker](woodpecker.md) (default) · [Pulsar](mq_pulsar.md) · [Kafka](mq_kafka.md) · [RocksMQ](mq_rocksmq.md) - Object storage: [MinIO](deploy_s3.md) (default) · [AWS S3](deploy_s3.md) · [Azure Blob](abs.md) · [GCP Cloud Storage](gcs.md) · [Aliyun OSS](deploy_s3.md) · [Tencent COS](deploy_s3.md) · [Huawei OBS](deploy_s3.md) · [S3-compatible](deploy_s3.md) - Metadata: [etcd](deploy_etcd.md) {{fragments/storage_v3_installation_note.md}} ## What's next Having installed Milvus in Docker, you can: - Check [Quickstart](quickstart.md) to see what Milvus can do. - Learn the basic operations of Milvus: - [Manage Databases](manage_databases.md) - [Manage Collections](manage-collections.md) - [Manage Partitions](manage-partitions.md) - [Insert, Upsert & Delete](insert-update-delete.md) - [Single-Vector Search](single-vector-search.md) - [Hybrid Search](multi-vector-search.md) - [Upgrade Milvus Using Helm Chart](upgrade_milvus_cluster-helm.md). - [Scale your Milvus cluster](scaleout.md). - Deploy your Milvu cluster on clouds: - [Amazon EKS](eks.md) - [Google Cloud](gcp.md) - [Microsoft Azure](azure.md) - Explore [Milvus WebUI](milvus-webui.md), an intuitive web interface for Milvus observability and management. - Explore [Milvus Backup](milvus_backup_overview.md), an open-source tool for Milvus data backups. - Explore [Birdwatcher](birdwatcher_overview.md), an open-source tool for debugging Milvus and dynamic configuration updates. - Explore [Attu](https://github.com/zilliztech/attu), an open-source GUI tool for intuitive Milvus management. - [Monitor Milvus with Prometheus](monitor.md).