Sign In
Sign In

How to Analyze Data with Metabase? A Comparison To 5 Most Popular Analytical Services

How to Analyze Data with Metabase? A Comparison To 5 Most Popular Analytical Services
Hostman Team
Technical writer
Infrastructure

What is Metabase? How to connect it to your database and use it for your analytics? What are the most popular Metabase alternatives and how do they compare? Read this article to find out everything about Metabase.

What is Metabase and how does it work?

Without the right tools, a database can be as impenetrable as a medieval dungeon crawling with carnivorous spiders.

But fear not, brave adventurer — Metabase is here to help you find and unlock all of the riches in your database.

With its intuitive UI, Metabase is your master key to accessing, presenting, and analyzing everything that lives inside your databases. Metabase is the open-source application that unlocks the full potential of your databases, allowing you to access, search, and share data in the easiest way possible. 

8302fb74d1bb041513710709c1280739

It is like having an intelligent, proactive and efficient digital analyst who’s always on the alert, and who can help you process and retrieve any of your data quickly and painlessly.

The simple and intuitive UI makes it possible to query even the tiniest piece of data in your database. More importantly, it presents the information in a clear and understandable way, so that you and your team can get the full benefit from the results of your query.

What makes Metabase such a popular tool?

I.T. professionals are known for their logical and analytical thinking. So when they get excited about something like Metabase, you can bet they have solid arguments to back it up.

Here are just a handful of features that have made Metabase the tool of choice for so many I.T. professionals:

  • Advanced query system that is equally effective with generic searches and laser-targeted database interrogations. Accessing data is as simple as asking a question about anything in your database. The Metabase query builder will serve up information you need in a way that is easy to digest for both analysts and non-technical users.

  • One-time-setup automated report generation. Metabase will automatically create reports about data changes in your database. Set it and forget it.

  • Intelligent tracking of important data changes with alerts. Set up alerts to keep owners up to date on changes in key data for which they are responsible.

  • Charts and dashboards that are as useful as they are visually appealing. With a strong focus on UI and UX, Metabase excels at presenting data and changes in a style that is clear and immediately understandable.

  • Craft dedicated embedded analytics. Metabase can also be used very effectively as a full-fledged data collector and manager for your clients.

How to set up Metabase

Before you can start working with Metabase, you need to follow a simple deployment and setup procedure.

Here’s everything you need to know.

Deploying

There are many ways to launch Metabase on your production platform.

The simplest way is to use cloud services that automated all the processes. All you need to do is to sign up to the service, select Metabase, and it will create an instance of the application on a fast and reliable server. Next, you will need to configure Metabase after the deployment is over.

Another way to install Metabase is to use the dedicated JAR file:

  1. Download the file from the official Metabase website

  2. Run the following command: java -jar metabase.jar

Alternatively, you can use the Docker image of Metabase If you’re used to working with containers.

There are also other methods for running Metabase. You can find them in the official Metabase documentation.

Setting up

Once you’ve set up Metabase on your server, you’ll be able to access it via localhost:3000.

Just open that address in your browser to begin.

Metabase will ask you to create an admin account. You’ll need to insert the standard personal details — name, last name, email, password, etc.

The next step is to connect your database. To do so, you’ll have to specify:

  • the hostname of the server with the database

  • the port to connect to the database

  • the database name

  • the username and password for accessing the database.

7806c717f1a993826008262ba6729ad6

And, that’s it. Once you’ve connected your database, you can check out the Metabase interface and start exploring all of its exciting functionality.

How to ask Metabase questions

Asking Questions is a key element of the Metabase system. It is like “queries on jet fuel” for your database software.

As an analyst, formulating the right Metabase Questions will be one of your main activities. They are the tool that will help you extract all of the important insights from the data you’re inspecting. While Metabase Questions are extremely powerful, creating them is an incredibly simple and intuitive process.

Let’s say you have a table with order data. It contains columns for subtotal, tax, total, etc., and you want to find all the orders with a tax of more than 5 dollars.

Using the filter system, you can ask Metabase to check the orders table for how many rows there are with a tax exceeding 5 dollars. To do this, you click on the Filter button, choose a column, choose the criteria to filter, and then click “Add filter”. Next, you might want to use the “Summarize” option to add up all of the rows with a tax of more than 5 dollars.

Filters in Metabase allow you to pick out the necessary data and get direct answers to your questions.

To help you get the most out of Metabase, we’ve prepared for you an in-depth Metabase query syntax tutorial.

How to visualize data

Presenting your data in a way that is appealing and easy to digest, is one of the key features of Metabase. All of the numbers, columns, rows, and cells are organized in a logical manner to facilitate understanding and data-driven decision-making.

Both visualization tools in Metabase are optimized for analyzing and monitoring any volume of data.

Creating charts

Metabase Charts depend heavily on the questions you ask. You can use built-in query editors to visualize data as charts.

To create a chart, you need to choose the “Visualize” option. Next, you’ll be able to choose one of the chart views that will present the data it gets from the question you ask. Finally, you will need to formulate the question.

55fafb6bf7e3b166b9efb717b7904afe

Let’s say you have an orders table with various categories of goods that your company sells. You can ask Metabase to filter some categories, summarize their performance characteristics and Visualize as a histogram.

Most importantly, you’ll be able to drill deeper into the data presented in your chart. You can click through to find exactly the number you need, and zoom in to get closer to the information around a certain period of time, or vice versa.

Creating dashboards

Business intelligence dashboards help you monitor the outcome of your actions so that you can make informed decisions about the further development of your company or product.

Dashboards are visually similar to charts. However, instead of focusing on a few specific elements, dashboards allow you to present an array of different types of information in different visual forms on one screen. This approach helps to monitor sensitive performance indicators on one screen. Metabase dashboard filters will help out on this task. And all the data in a dashboard will always be up to date.

B406930da47c1ae1259d65763de30917

In Metabase, you can find many ready-made dashboards for efficiently presenting different data collections. These dashboards are made by other Metabase users. And since they’re based on real-world scenarios, you’re likely to find something that closely fits your use case in no time.

Metabase API

There are many platforms out there that are great at what they do, but fail miserably when it comes to integrating with your environment.

That’s why Metabase comes with its own API for integrating its features into other products.

The API allows you to ask for any data that is passed through Metabase via a different application. You can also create custom queries and pass them into Metabase by means of the API.

Moreover, developers can use curl requests to set users, groups, and permissions; even generate reports.

You’ll find a ton of API use cases in the official Metabase documentation.

How does Metabase compare with similar top industry solutions?

Metabase is a great tool but it’s neither the first nor the only one of its kind.

There are many other business intelligence tools that help businesses collect and analyze data. But Metabase isn’t afraid of competition. In fact, in the next section, we’re putting Metabase toe-to-toe with some of the best, most powerful and most popular data analysis platforms.

Punches will fly, but you’ll find that Metabase puts up a strong show of force.

Metabase vs Tableau

These two platforms have a lot in common. Both were created for the purpose of presenting a large amount of data via the most visually comprehensive tools.

Tableau launched in 2003. By 2021 it had earned the trust and admiration of many businesses.

By comparison, Metabase is a relatively recent addition to the scene. While it doesn’t have the huge exposure and reputation that Tableau has built over the years, Metabase has the advantage of having been built on the lessons learned from other platforms (including Tableau).

You could say Metabase stands on the shoulders of giants, but reaches higher because of that.

Metabase vs Superset

Superset is a free alternative to Metabase. It is a quite popular tool made by developers of Airbnb and now belongs to Apache. It is open source too and in many cases functionally similar to Metabase.

People love Superset due to its easy migrating system. If you’re migrating to Superset, the process is painless and straightforward.

Superset users are particularly fond of a feature called “Time Dimensions”, which allows you to monitor data from several time segments without having to update the whole dashboard at the same time.

While it’s a brilliant tool, Superset suffers in the documentation department. This becomes a real problem when dealing with some of the more advanced or obscure functionality.

On the flip side, Metabase boasts clear and detailed documentation. More importantly, we’ve placed huge emphasis on UI/UX, to the extent that most functions can be performed without spending too much time digging through documentation. Metabase’s easy query system and intuitive charts and dashboards have won over many users from Superset, simply because they were tired of all the guesswork.

Metabase vs Redash

One of Redash's main claims to fame is that it supports JSON files as a data source. In other words, it can be connected to NoSQL databases like MongoDB, which many users consider an asset.

Metabase and Redash also have a number of useful features in common, such as the “Query Snippet” function, which helps to create reusable bits of SQL queries to quickly recreate requests to the database.

In Redash it is easy to set up query parameters. Therefore, it is simpler to pass the arguments and data sources into SQL and NoSQL requests.

Unfortunately, Redash falls short when it comes to the visual element of the applications. In a side-by-side comparison, you’ll see that Metabase’s charts and dashboards are much better presented and more informative (hence, more useful) than the ones that Redash provides.

Metabase vs Looker

True to its name, Looker is a very well-presented tool that is loved by thousands of users. Its main focus is data modeling and it is actually good at it.

Metabase is also very good at data modeling. In fact, Looker and Metabase have a lot of strong points in common. Where Metabase outclasses Looker, is in performance. Put the two head-to-head and you’ll find Metabase much faster and more comfortable to use.

Many Looker users love it because of its LookML language — a proprietary syntax that is used to pass queries to databases. It has quite a steep learning curve, but many businesses consider it to be the most powerful and efficient way to work with a large amount of information. Unfortunately, it’s also pretty expensive.

By comparison, Metabase is free as long as you host it yourself, and still brings very powerful features bundled with a well-designed UI/UX.

Metabase vs Power BI

Power BI is Microsoft's business intelligence tool, created for those who primarily work within Microsoft’s ecosystem.

It is a feature-rich and massive product, but its power comes with an equally steep learning curve. As a result, the product is very hard to penetrate, which means that most users will rarely be able to get the full benefit of its powerful features. Just getting Power BI up and running is a mammoth of a task, requiring a considerable investment in time, effort and money to get it to work efficiently.

Just like many other Microsoft products, Power BI has its niche of users for whom it's an excellent fit. But it’s definitely not for everyone.

On the flip side, Metabase was designed with a very low barrier to entry. The intuitive UI makes it easy to deploy and start using within minutes. And of course, it’s not lacking in powerful features either.

The best way to try out Metabase

Metabase is a powerful tool that will dramatically change the way you work with databases. But you shouldn’t take our word for it. That’s why we recommend that you try out Metabase for yourself and come to your own conclusions.

How do you do that?

With Hostman.

As part of its suite of hosting services, Hostman has just launched a Marketplace where administrators and developers can find a variety of tools such as OpenVPN, Docker, Metabase and many more, which can be deployed in one click.

All you have to do is:

  1. Visit the Metabase page in the Hostman Marketplace.

  2. Click “Deploy to Hostman”.

2e10fe0e3f95b43baad7c0ac74b9ade4

Nothing else is necessary.

You won’t need to download Java and JAR files, or create Docker containers. Everything will be set up for you. 

The Hostman Marketplace also carries loads of other exceptional tools that you can easily deploy and use. You can try any of them for free for 7 days. And if you like what you see, you can continue to use it for just 5 dollars per month.

Infrastructure

Similar

Infrastructure

Virtualization vs Containerization: What They Are and When to Use Each

This article explores two popular technologies for abstracting physical hardware: virtualization and containerization. We will provide a general overview of each and also discuss the differences between virtualization and containerization. What Is Virtualization The core component of this technology is the virtual machine (VM). A VM is an isolated software environment that emulates the hardware of a specific platform. In other words, a VM is an abstraction that allows a single physical server to be transformed into multiple virtual ones. Creating a VM makes sense when you need to manage all operating system kernel settings. This avoids kernel conflicts with hardware, supports more features than a specific OS build might provide, and allows you to optimize and install systems with a modified kernel. What Is Containerization Containers work differently: to install and run a container platform, a pre-installed operating system kernel is required (this can also be on a virtual OS). The OS allocates system resources for the containers that provide a fully configured environment for deploying applications. Like virtual machines, containers can be easily moved between servers and provide a certain level of isolation. However, to deploy them successfully, it’s sufficient for the base kernel (e.g., Linux, Windows, or macOS) to match — the specific OS version doesn’t matter. Thus, containers serve as a bridge between the system kernel layer and the application layer. What Is the Difference Between Containerization and Virtualization Some, especially IT beginners, often frame it as "virtualization vs containerization." But these technologies shouldn't be pitted against each other — they actually complement one another. Let’s examine how they differ and where they overlap by looking at how both technologies perform specific functions. Isolation and Security Virtualization makes it possible to fully isolate a VM from the rest of the server, including other VMs. Therefore, VMs are useful when you need to separate your applications from others located on the same servers or within the same cluster. VMs also increase the level of network security. Containerization provides a certain level of isolation, too, but containers are not as robust when it comes to boundary security compared to VMs. However, solutions exist that allow individual containers to be isolated within VMs — one such solution is Hyper-V. Working with the Operating System A VM is essentially a full-fledged OS with its own kernel, which is convenient but imposes high demands on hardware resources (RAM, storage, CPU). Containerization uses only a small fraction of system resources, especially with adapted containers. When forming images in a hypervisor, the minimal necessary software environment is created to ensure the container runs on an OS with a particular kernel. Thus, containerization is much more resource-efficient. OS Updates With virtualization, you have to download and install OS updates on each VM. To install a new OS version, you need to update the VM — in some cases, even create a new one. This consumes a significant amount of time, especially when many virtual machines are deployed. With containers, the situation is similar. First, you modify a file (called a Dockerfile) that contains information about the image. You change the lines that specify the OS version. Then the image is rebuilt and pushed to a registry. But that’s not all: the image must then be redeployed. To do this, you use orchestrators — platforms for managing and scaling containers. Orchestration tools (the most well-known are Kubernetes and Docker Swarm) allow automation of these procedures, but developers must install and learn them first. Deployment Mechanisms To deploy a single VM, Windows (or Linux) tools will suffice, as will the previously mentioned Hyper-V. But if you have two or more VMs, it’s more convenient to use solutions like PowerShell. Single containers are deployed from images via a hypervisor (such as Docker), but for mass deployment, orchestration platforms are essential. So in terms of deployment mechanisms, virtualization and containerization are similar: different tools are used depending on how many entities are being deployed. Data Storage Features With virtualization, VHDs are used when organizing local storage for a single VM. If there are multiple VMs or servers, the SMB protocol is used for shared file access. Hypervisors for containers have their own storage tools. For example, Docker has a local Registry repository that lets you create private storage and track image versions. There is also the public Docker Hub repository, which is used for integration with GitHub. Orchestration platforms offer similar tools: for instance, Kubernetes can set up file storage using Azure’s infrastructure. Load Balancing To balance the load between VMs, they are moved between servers or even clusters, selecting the one with the best fault tolerance. Containers are balanced differently. They can’t be moved per se, but orchestrators provide automatic starting or stopping of individual containers or whole groups. This enables flexible load distribution between cluster nodes. Fault Tolerance Faults are also handled in similar ways. If an individual VM fails, it’s not difficult to transfer that VM to another server and restart the OS there. If there’s an issue with the server hosting the containerization platform, containers can be quickly recreated on another server using the orchestrator. Pros and Cons of Virtualization Advantages: Reliable isolation. Logical VM isolation means failures in one VM don’t affect the others on the same server. VMs also offer a good level of network security: if one VM is compromised, its isolation prevents infection of others. Resource optimization. Several VMs can be deployed on one server, saving on purchasing additional hardware. This also facilitates the creation of clusters in data centers. Flexibility and load balancing. VMs are easily transferred, making it simpler to boost cluster performance and maintain systems. VMs can also be copied and restored from backups. Furthermore, different VMs can run different OSs, and the kernel can be any type — Linux, Windows, or macOS — all on the same server. Disadvantages: Resource consumption. VMs can be several gigabytes in size and consume significant CPU power. There are also limits on how many VMs can run on a single server. Sluggishness. Deployment time depends on how "heavy" the VM is. More importantly, VMs are not well-suited to scaling. Using VMs for short-term computing tasks is usually not worthwhile. Licensing issues. Although licensing is less relevant for Russian developers, you still need to consider OS and software licensing costs when deploying VMs — and these can add up significantly in a large infrastructure. Pros and Cons of Containerization Advantages: Minimal resource use. Since all containers share the same OS kernel, much less hardware is needed than with virtual machines. This means you can create far more containers on the same system. Performance. Small image sizes mean containers are deployed and destroyed much faster than virtual machines. This makes containers ideal for developers handling short-term tasks and dynamic scaling. Immutable images. Unlike virtual machines, container images are immutable. This allows the launch of any number of identical containers, simplifying testing. Updating containers is also easy — a new image with updated contents is created on the container platform. Disadvantages: Compatibility issues. Containers created in one hypervisor (like Docker) may not work elsewhere. Problems also arise with orchestrators: for example, Docker Swarm may not work properly with OpenShift, unlike Kubernetes. Developers need to carefully choose their tools. Limited lifecycle. While persistent container storage is possible, special tools (like Docker Data Volumes) are required. Otherwise, once a container is deleted, all its data disappears. You must plan ahead for data backup. Application size. Containers are designed for microservices and app components. Heavy containers, such as full-featured enterprise software, can cause deployment and performance issues. Conclusion Having explored the features of virtualization and containerization, we can draw a logical conclusion: each technology is suited to different tasks. Containers are fast and efficient, use minimal hardware resources, and are ideal for developers working with microservices architecture and application components. Virtual machines are full-fledged OS environments, suitable for secure corporate software deployment. Therefore, these technologies do not compete — they complement each other.
10 June 2025 · 7 min to read
Infrastructure

Top RDP Clients for Linux in 2025: Remote Access Tools for Every Use Case

RDP (Remote Desktop Protocol) is a proprietary protocol for accessing a remote desktop. All modern Windows operating systems have it by default. However, a Linux system with a graphical interface and the xrdp package installed can also act as a server. This article focuses on Linux RDP clients and the basic principles of how the protocol works. Remote Desktop Protocol RDP operates at the application layer of the OSI model and is based on the Transport Layer Protocol (TCP). Its operation follows this process: A connection is established using TCP at the transport layer. An RDP session is initialized. The RDP client authenticates, and data transmission parameters are negotiated. A remote session is launched: the RDP client takes control of the server. The server is the computer being remotely accessed. The RDP client is the application on the computer used to initiate the connection. During the session, all computational tasks are handled by the server. The RDP client receives the graphical interface of the server's OS, which is controlled using input devices. The graphical interface may be transmitted as a full graphical copy or as graphical primitives (rectangles, circles, text, etc.) to save bandwidth. By default, RDP uses port 3389, but this can be changed if necessary. A typical use case is managing a Windows remote desktop from a Linux system. From anywhere in the world, you can connect to it via the internet and work without worrying about the performance of the RDP client. Originally, RDP was introduced in Windows NT 4.0. It comes preinstalled in all modern versions of Windows. However, implementing a Linux remote desktop solution requires special software. RDP Security Two methods are used to ensure the security of an RDP session: internal and external. Standard RDP Security: This is an internal security subsystem. The server generates RSA keys and a public key certificate. When connecting, the RDP client receives these. If confirmed, authentication takes place. Enhanced RDP Security: This uses external tools to secure the session, such as TLS encryption. Advantages of RDP RDP is network-friendly: it can work over NAT, TCP, or UDP, supports port forwarding, and is resilient to connection drops. Requires only 300–500 Kbps bandwidth. A powerful server can run demanding apps even on weak RDP clients. Supports Linux RDP connections to Windows. Disadvantages of RDP Applications sensitive to latency, like games or video streaming, may not perform well. Requires a stable server. File and document transfer between the client and server may be complicated due to internet speed limitations. Configuring an RDP Server on Windows The most common RDP use case is connecting to a Windows server from another system, such as a Linux client. To enable remote access, the target system must be configured correctly. The setup is fairly simple and works "out of the box" on most modern Windows editions.  Enable remote desktop access via the Remote Access tab in System Properties. Select the users who can connect (by default, only administrators). Check firewall settings. Some profiles like “Public” or “Private” may block RDP by default. If the server is not in a domain, RDP might not work until you allow it manually via Windows Firewall → Allowed Apps. If behind a router, you might need to configure port forwarding via the router’s web interface (typically under Port Forwarding). Recall that RDP uses TCP port 3389 by default. Best RDP Clients for Linux Remmina Website: remmina.org Remmina is a remote desktop client with a graphical interface, written in GTK+ and licensed under GPL. In addition to RDP, it supports VNC, NX, XDMCP, SPICE, X2Go, and SSH. One of its key features is extensibility via plugins. By default, RDP is not available until you install the freerdp plugin. After installing the plugin, restart Remmina, and RDP will appear in the menu. To connect: Add a new connection. Fill in connection settings (you only need the remote machine's username and IP). Customize further if needed (bandwidth, background, hotkeys, themes, etc.). Save the connection — now you can connect with two clicks from the main menu. If you need to run Remmina on Windows, a guide is available on the official website. FreeRDP Website: freerdp.com FreeRDP is a fork of the now-unsupported rdesktop project and is actively maintained under the Apache license. FreeRDP is a terminal-based client. It is configured and launched entirely via the command line. Its command structure is similar to rdesktop, for example: xfreerdp -u USERNAME -p PASSWORD -g WIDTHxHEIGHT IP This command connects to the server at the given IP using the specified credentials and screen resolution. KRDC Website: krdc KRDC (KDE Remote Desktop Client) is the official remote desktop client for KDE that supports RDP and VNC protocols. It offers a clean and straightforward interface consistent with KDE's Plasma desktop environment. KRDC is ideal for users of KDE-based distributions like Kubuntu, openSUSE KDE, and Fedora KDE Spin. It integrates well with KDE's network tools and provides essential features such as full-screen mode, session bookmarking, and network browsing via Zeroconf/Bonjour. KRDC is actively maintained by the KDE community and is available through most Linux package managers. GNOME Connections Website: gnome-connections Vinagre was the former GNOME desktop's default remote desktop client. GNOME Connections, a modernized remote desktop tool for GNOME environments, has since replaced it. GNOME Connections supports RDP and VNC, providing a simple and user-friendly interface that matches the GNOME design language. It focuses on ease of use rather than configurability, making it ideal for non-technical users or quick access needs. Features: Bookmarking for quick reconnections Simple RDP session management Seamless integration into GNOME Shell Connections is maintained as part of the official GNOME project and is available in most distribution repositories. Apache Guacamole Website: guacamole.apache.org This is the simplest yet most complex remote desktop software for Linux. Simple because it works directly in a browser — no additional programs or services are needed. Complex because it requires one-time server installation and configuration. Apache Guacamole is a client gateway for remote connections that works over HTML5. It supports Telnet, SSH, VNC, and RDP — all accessible via a web interface. Although the documentation is extensive, many ready-made scripts exist online to simplify basic setup. To install: wget https://git.io/fxZq5 -O guac-install.sh chmod +x guac-install.sh ./guac-install.sh After installation, the script will provide a connection address and password. To connect to a Windows server via RDP: Open the Admin Panel, go to Settings → Connections, and create a new connection. Enter the username and IP address of the target machine — that's all you need. The connection will now appear on the main page, ready for use. Conclusion RDP is a convenient tool for connecting to a remote machine running Windows or a Linux system with a GUI. The server requires minimal setup — just a few settings and firewall adjustments — and the variety of client programs offers something for everyone.
09 June 2025 · 6 min to read
Infrastructure

Docker Container Storage and Registries: How to Store, Manage, and Secure Your Images

Docker containerization offers many benefits, one of which is image layering, enabling fast container generation. However, containers have limitations — for instance, persistent data needs careful planning, as all data within a container is lost when it's destroyed. In this article, we’ll look at how to solve this issue using Docker’s native solution called Docker Volumes, which allows the creation of persistent Docker container storage. What Happens to Data Written Inside a Container To begin, let’s open a shell inside a container using the following command: docker run -it --rm busybox Now let’s try writing some data to the container: echo "Hostman" > /tmp/data cat /tmp/data Hostman We can see that the data is written, but where exactly? If you're familiar with Docker, you might know that images are structured like onions — layers stacked on top of each other, with the final layer finalizing the image. Each layer can only be written once and becomes read-only afterward. When a container is created, Docker adds another layer for handling write operations. Since container lifespans are limited, all data disappears once the container is gone. This can be a serious problem if the container holds valuable information. To solve this, Docker provides a solution called Docker Volumes. Let’s look at what it is and how it works. Docker Volumes Docker Volumes provide developers with persistent storage for containers. This tool decouples data from the container’s lifecycle, allowing access to container data at any time. As a result, data written inside containers remains available even after the container is destroyed, and it can be reused by other containers. This is a useful solution for sharing data between Docker containers and also enables new containers to connect to the existing storage. How Docker Volumes Work A directory is created on the server and then mounted into one or more containers. This directory is independent because it is not included in the Docker image layer structure, which allows it to bypass the read-only restriction of the image layers for containers that include such a directory. To create a volume, use the following command: docker volume create Now, let’s check its location using: docker volume inspect volume_name The volume name usually consists of a long alphanumeric string. In response, Docker will display information such as the time the volume was created and other metadata, including the Mountpoint. This line shows the path to the volume. To view the data stored in the volume, simply open the specified directory. There are also other ways to create a Docker Volume. For example, the -v option can be added directly during container startup, allowing you to create a volume on the fly: docker run -it --rm -v newdata:/data busybox Let’s break down what’s happening here: The -v argument follows a specific syntax, indicated by the colon right after the volume name (in this case, we chose a very creative name, newdata). After the colon, the mount path inside the container is specified. Now, you can write data to this path, for example: echo "Cloud" > /data/cloud Data written this way can easily be found at the mount path. As seen in the example above, the volume name is not arbitrary — it matches the name we provided using -v. However, Docker Volumes also allow for randomly generated names, which are always unique to each host. If you’re assigning names manually, make sure they are also unique. Now, run the command: docker volume ls If the volume appears in the list, it means any number of other containers can use it. To test this, you can run: docker run -it --rm -v newdata:/data busybox Then write something to the volume. Next, start another container using the exact same command and you’ll see that the data is still there and accessible — meaning it can be reused. Docker Volumes in Practice Now let’s take a look at how Docker Volumes can be used in practice. Suppose we're developing an application to collect specific types of data — let’s say football statistics. We gather this data and plan to use it later for analysis — for example, to assess players’ transfer market values or for betting predictions. Let’s call our application FootballStats. Preserving Data After Container Removal Obviously, if we don’t use Docker Volumes, all the collected statistics will simply be lost as soon as the container that stored them is destroyed. Therefore, we need to store the data in volumes so it can be reused later. To do this, we use the familiar -v option:  -v footballstats:/dir/footballstats This will allow us to store match statistics in the /dir/footballstats directory, on top of all container layers. Sharing Data Suppose the FootballStats container has already gathered a certain amount of data, and now it's time to analyze it. For instance, we might want to find out how a particular team performed in the latest national championship or how a specific player did — goals, assists, cards, etc. To do this, we can mount our volume into a new container, which we’ll call FootballStats-Analytics. The key advantage of this setup is that the new container can read the data without interfering with the original FootballStats container’s ongoing data collection. At the same time, analysis of the incoming data can be performed using defined parameters and algorithms. This information can be stored anywhere, either in the existing volume or a new one, if needed. Other Types of Mounts In addition to standard volumes, Docker Volumes also supports other types of mounts designed to solve specialized tasks: Bind Mount Bind mounts are used to attach an existing path on the host to a container. This is useful for including configuration files, datasets, or static assets from websites. To specify directories for mounting into the container, use the --mount option with the syntax <host path>:<container path>. Tmpfs Mount Tmpfs mounts serve the opposite purpose of regular Docker Volumes — they do not persist data after the container is destroyed. This can be useful for developers who perform extensive logging. In such cases, continuously writing temporary data to disk can significantly degrade system performance. The --tmpfs option creates temporary in-memory directories, avoiding constant access to the file system. Drivers Docker Volume Drivers are a powerful tool that enable flexible volume management. They allow you to specify various storage options, the most important being the storage location — which can be local or remote, even outside the physical or virtual infrastructure of the provider. This ensures that data can survive not only the destruction of the container but even the shutdown of the host itself. Conclusion So, we’ve learned how to create and manage storage using Docker Volumes. For more information on how to modify container storage in Docker, refer to the platform’s official documentation. 
09 June 2025 · 6 min to read

Do you have questions,
comments, or concerns?

Our professionals are available to assist you at any moment,
whether you need help or are just unsure of where to start.
Email us
Hostman's Support