Skip to content

TechDirectArchive

Hands-on IT, Cloud, Security & DevOps Insights

  • Home
  • About
  • Advertise With US
  • Reviews
  • Contact
  • Toggle search form
Home » Linux » Create and Mount Volume to Docker Container

Create and Mount Volume to Docker Container

Posted on 07/01/202328/03/2024 Imoh Etuk By Imoh Etuk No Comments on Create and Mount Volume to Docker Container
Docker-Volumes

In this guide, you will learn how to create and mount the host volume in a Docker container. Containers play a crucial role in application deployment. Docker is one of the most widely used open-source container runtimes. Please see How to manually update Docker desktop, how to install and uninstall Docker Desktop on Windows 10 and Windows Server, and How to manually update Docker desktop.

Docker volumes are popular and practical solutions for ensuring data persistence when working with containers. They are a better option than bind mounts, which depend on the directory structure and OS of the host computer because Docker entirely manages them.

Volumes defeat building additional writable layers that increase the size of the Docker image. Using Docker Volume is suitable when working on a micro-service architecture using Docker containers in order to build and test various application components.

Willing to learn more about Docker? See related posts as follows: How to Set up a Private Docker Registry, how to Run Docker commands returns Docker is not recognized as an internal or external command, Running Docker commands returns Docker is not recognized as an internal or external command

What are Volumes?

Before proceeding to the demo section, understanding what Docker Volumes are is necessary.

In a short and simple sentence, Docker volumes are file systems mounted on Docker containers for the purpose of preserving data produced by the container while it is running.

A volume does not increase the size of the containers that use it, and the contents of a volume live outside the lifespan of a particular container, making them a frequently preferable option to persisting data in a container’s writable layer.

Working with Docker Volumes

During container launch, several possible approaches to mounting a Docker volume exist. The -v and --mount flags that are added to the docker run the command is up to the user to decide.

Below are a few things to know about Docker Volumes:

  1. When the container disappears, the data is lost, and removing the data from the container can be challenging.
  2. Bind mounts are more difficult to transfer or backup than volumes.
  3. Volumes can be managed using the Docker API or the Docker CLI
  4. Both Linux and Windows containers support volumes.
  5. Shared volumes between numerous containers can be done more securely.
  6. Docker Volume is one of the concepts required in order to maintain Data persistence in the Docker container.

Getting Started with Docker Volume

To get started with mounting a Docker Volume, one of the criteria is to have Docker installed on your system. To learn how to install and set up Docker on your Ubuntu Machine, refer to this post on How to install Docker Engine on Ubuntu. After setting up Docker on your machine, run the docker --version command verify that installation.

Checking-Docker-Version
Checking Docker Version

Now that you have set up Docker on your machine, run the docker volume ls command to check the existing volumes.

Existing-Volumes
Checking the Existing Docker Volumes

Creating a Volume

The docker volume create command is a perfect command to run to create a Docker Volume. To do so, run:

sudo docker volume create <volume name>

Verify the newly created volume as shown in the screenshot below. Remember to specify a unique name for your Volume.

Creating-and-verifying-the-volume
Creating and verifying the new docker volume

Also, see How to stop Docker from automatically starting on Mac, and how to fix “Failed to remove network for build: Error during connect in the default daemon configuration on Windows, the Docker client must be run with elevated privileges“.

Inspecting Docker Volume

Now that we have created a Volume, it’s time to inspect the volume. To do so, run the command below:

docker inspect <volume-name>
Inspecting-Docker-Volume
Inspecting a Docker Volume

Mounting Docker Volumes

Having created and inspected the Docker Volume, we will mount the volume to a Docker Container. With the help of the -v flag, we’ll mount the my-volume Volume to the Docker Container we’ll create using an Ubuntu base image.

sudo docker run -it -v my-volume:/shared-volume --name ubuntu-container-001 ubuntu

Running the above command will create the ubuntu base image container and mount the volume. From the screenshot below, we create a file named Test-file.txt and exited the container with the exit command.

Create-a-file
Mounting Docker Volume and Creating a File

Now, let’s create another  Docker Container called ubuntu-container-002 and mount the same Docker Volume called my-volume  inside the Container using the below command:

sudo docker run -it -v my-volume:/shared-volume --name ubuntu-container-002 ubuntu
Mounted-Second-Container
Creating Another Volume and Verifying the Content

If you change the directory to the share-volume directory and use the ls command to list the content you will see the same test-file.txt file that was created in the same <my-volume> Volume but mounted in ubuntu-container-001.

This is because the my-volume Volume is shared between two containers that are ubuntu-container-001 and ubuntu-container-002.

To summarize, we discussed how to create, inspect, and mount a Volume to multiple Docker Containers in this post. This is extremely useful when multiple Docker Containers require shared access to files and directories.

Rate this post

Thank you for reading this post. Kindly share it with others.

  • Share on X (Opens in new window) X
  • Share on Reddit (Opens in new window) Reddit
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Facebook (Opens in new window) Facebook
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Telegram (Opens in new window) Telegram
  • Share on WhatsApp (Opens in new window) WhatsApp
  • Share on Mastodon (Opens in new window) Mastodon
  • Share on Bluesky (Opens in new window) Bluesky
  • Share on Threads (Opens in new window) Threads
  • Share on Nextdoor (Opens in new window) Nextdoor
Containers, Linux Tags:Ubuntu

Post navigation

Previous Post: Install and use Burp Suite for Web Application Security Testing
Next Post: Performance and Diagnostics in Microsoft Cloud with Azure Monitor

Related Posts

  • How to create edit save exit file
    Mastering Vim in Linux: How to Create, Edit, Save, and Quit Files Linux
  • Manage Log Files via Logrotate
    How To Use Logrotate For Managing Log Files In Ubuntu Linux Linux
  • AADSTS900144
    Fix AADSTS900144: The request body must contain the parameter Linux
  • fimage2
    How to install and configure JIRA on Linux Linux
  • Linux Shell Scripting 1
    Write a Shell Script that Count Lines and Words in a File Linux
  • ysvxdf
    Install and configure BigBlueButton on Ubuntu Linux Linux

More Related Articles

How to create edit save exit file Mastering Vim in Linux: How to Create, Edit, Save, and Quit Files Linux
Manage Log Files via Logrotate How To Use Logrotate For Managing Log Files In Ubuntu Linux Linux
AADSTS900144 Fix AADSTS900144: The request body must contain the parameter Linux
fimage2 How to install and configure JIRA on Linux Linux
Linux Shell Scripting 1 Write a Shell Script that Count Lines and Words in a File Linux
ysvxdf Install and configure BigBlueButton on Ubuntu Linux Linux

Leave a Reply Cancel reply

You must be logged in to post a comment.

Microsoft MVP

VEEAMLEGEND

vexpert-badge-stars-5

Virtual Background

GoogleNews

Categories

veeaam100

Veeam Vanguard

  • How to fix BitLocker always prompting for Recovery Key
    How to fix BitLocker always prompting for Recovery Key Windows
  • Drop or delete a MySQL user from phpmyAdmin
    How to delete a MySQL User Account Oracle/MSSQL/MySQL
  • sql 1
    Editions of MSSQL Server: What are the differences between various Editions of Microsoft SQL Server Oracle/MSSQL/MySQL
  • plain screenshot 1
    How to make a screenshot on a macOS device Mac
  • Error 1069 Windows could not start
    Fix Error 1069: Windows could not start the Veeam backup service on local computer Backup
  • sdadsf453423564
    How to download, install and activate, and uninstall IBM SPSS Statistics Mac
  • veeaamAgent1
    Veeam Agent Vulnerability: Fix Veeam Agent vulnerability for Microsoft Windows  Backup
  • s3versioning
    Hosting Static Website and Versioning on AWS S3 AWS/Azure/OpenShift

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,808 other subscribers
  • RSS - Posts
  • RSS - Comments
  • About
  • Authors
  • Write for us
  • Advertise with us
  • General Terms and Conditions
  • Privacy policy
  • Feedly
  • Telegram
  • Youtube
  • Facebook
  • Instagram
  • LinkedIn
  • Tumblr
  • Pinterest
  • Twitter
  • mastodon

Tags

AWS Azure Bitlocker Microsoft Windows PowerShell WDS Windows 10 Windows 11 Windows Deployment Services Windows Server 2016

Copyright © 2025 TechDirectArchive

Loading Comments...

You must be logged in to post a comment.