---
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).