How to Get Started with the Weaviate Vector Database on Docker
December 8, 2025 · 1047 words · 5 min
Vector databases have been getting a lot of attention since the developer community realized how the
Vector databases have been getting a lot of attention since the developer community realized how they can enhance large language models (LLMs). is an open source vector database that enables modern search capabilities, such as vector search, hybrid search, and generative search. With Weaviate, you can build advanced LLM applications, next-level search systems, recommendation systems, and more. This article explains what are and highlights key features of the Weaviate vector database. Learn how to install Weaviate on Docker using so you can take advantage of semantic search within your Dockerized environment. The core feature of is storing vector embeddings of data objects. This functionality is especially helpful with the growing amount of unstructured data (e.g., text or images), which is difficult to manage and process with traditional relational databases. The vector embeddings are a numerical representation of the data objects — usually generated by a machine learning (ML) model — and enable the search and retrieval of data based on semantic similarity (vector search). Vector databases do much more than just store vector embeddings: As you can imagine, retrieving data based on similarity requires a lot of comparing between objects and thus can take a long time. In contrast to other types of databases that can store vector embeddings, a vector database can retrieve data fast. To enable low-latency search queries, vector databases use . Additionally, some vector databases, like Weaviate, store the vector embeddings the original data object, which lets you combine traditional search with modern vector search for more accurate search results. With these functionalities, vector databases are usually used in search or similar tasks (e.g., recommender systems). With the recent advancements in the LLM space, however, vector databases have also proven effective at providing long-term memory and domain-specific context to conversational LLMs. This means that you can leverage LLM capabilities on your private data or your specific field of expertise. Key highlights of the Weaviate vector database include: Ensure you have both the and the CLI tools installed. For the following section, we assume you have Docker 17.09.0 or higher and installed. If your system has Docker Compose V1 installed instead of V2, use instead of . You can check your Docker Compose version with: To start Weaviate with , you need a Docker Compose configuration file, typically called . Usually, there’s no need to obtain individual images, as we distribute entire Docker Compose files. You can obtain a Docker Compose file for Weaviate in two different ways: This article will review the steps to configure your Docker Compose file with the . First, define which version of Weaviate you want to use (Figure 1). We recommend always using the latest version. The following shows a minimal example of a Docker Compose setup for Weaviate: Configure for Docker Compose file (Figure 2): Setting up a persistent volume to avoid data loss when you restart the container and improve reading and writing speeds is recommended. You can set a persistent volume in two ways: Weaviate can be used with various which integrate directly with inferencing services like OpenAI, Cohere, or Hugging Face. These modules can be used to vectorize any media type at import and search time automatically or to extend Weaviate’s core capabilities with generative modules. You can also use Weaviate without any modules (standalone). In this case, no model inference is performed at import or search time, meaning you need to provide your own vectors in both scenarios. If you don’t need any modules, you can skip to Step 4: Runtime. Configure modules for Docker Compose file (Figure 3): Currently, Weaviate integrates three categories of modules: Note that many modules (e.g., transformer models) are neural networks built to run on GPUs. Although you can run them on CPU, enabling GPU , if available, will result in faster inference. The following shows an example of a Docker Compose setup for Weaviate with the : In the final step of the configurator, select for your runtime (Figure 4): Once your configuration is complete, you will see a snippet similar to the following to download the file, which has been adjusted to your selected configuration. After downloading the Docker Compose file from the configurator, you can directly start Weaviate on Docker or customize it further. You can set to further customize your Weaviate setup (e.g., by defining authentication and authorization). Additionally, you can create a multi-node setup with Weaviate by defining a founding member and other members in the cluster. Set up one node as a “founding” member by configuring and : For each further node, configure and and configure to join the founding member’s cluster using the variable: Optionally, you can set a hostname for each node using . Note that it’s a Weaviate convention to set the to 1 higher than . Once you have your Docker Compose file configured to your needs, you can run Weaviate in your Docker environment. Before starting Weaviate on Docker, ensure that the Docker Compose file is named exactly and that you are in the same folder as the Docker Compose file. Then, you can start up with the whole setup by running: The option runs containers in detached mode. This means that your terminal will not attach to the log outputs of all the containers. If you want to attach to the logs of specific containers (e.g., Weaviate), you can run the following command: Congratulations! Weaviate is now running and is ready to be used. To avoid losing your data, shut down Weaviate with the following command: This will write all the files from memory to disk. This article introduced vector databases and how they can enhance LLM applications. Specifically, we highlighted the open source vector database , whose advantages include fast vector search at scale, hybrid search, and integration modules to state-of-the-art ML models from OpenAI, Cohere, Hugging Face, etc. We also provided a step-by-step guide on how to install Weaviate on Docker using , noting that you can obtain a file from the , which helps you to customize your Docker Compose file for your specific needs. Visit our and read the to learn more about how developers are using Docker to accelerate the development of their AI/ML applications.