# Microservices

Microservices specifically with Docker aim to scale our applications in an easy way. With WebMap, you can host  your application in this mode. In this section, we are going to see an introduction on how docker works and implement a container with a WebMap application.

### Docker container

A Docker container is a lightweight, standalone, and executable package that includes everything needed to run a piece of software, such as the application code, system tools, libraries, and settings. Containers allow developers to package an application and its dependencies in a consistent environment, ensuring that the application behaves the same regardless of where it is deployed.

Key aspects of Docker containers:

1. **Isolation**: Each container runs in isolation from others, with its own file system, process space, and network interface. This ensures that different applications or services can run side-by-side without interfering with each other.
2. **Portability**: Docker containers can run on any system that supports Docker, regardless of differences in the underlying operating system, whether it's a local machine, on-premise server, or cloud environment. This makes containers highly portable.
3. **Efficiency**: Unlike virtual machines, which include a full operating system for each instance, Docker containers share the host system's kernel. This makes containers lightweight and efficient, allowing for faster startup times and less resource usage.
4. **Versioning and Rollbacks**: Docker allows version control for images, so developers can track and manage changes in the container environment. If an issue arises, it’s easy to revert to a previous version.

Docker containers are often used in modern software development to streamline deployment, improve consistency between development and production environments, and scale applications more efficiently.

<figure><img src="/files/pW9AVLAcsTPoF9pnS92g" alt=""><figcaption><p>Docker container architecture</p></figcaption></figure>

Source: [What is a container?](https://www.docker.com/resources/what-container/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gapvelocity.ai/webmap/scalability/microservices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
