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

  • On ubuntu mariadb
    How to install MariaDB on Ubuntu Linux
  • Featured image WSL2 installation
    How to install WSL2 on Windows Server Linux
  • FEATURE IMAGE BASE URL 1
    How to solve cannot find a valid base URL for repo: base/7/x86_64 Linux
  • GRADLE FEATURE
    How to install Gradle on Ubuntu Linux
  • image 10
    Change Visual Studio Code UI language JIRA|Confluence|Apps
  • 517443 637084112713220326 16x9 1
    How can I tell if a password is set for a user account on Linux Linux

More Related Articles

On ubuntu mariadb How to install MariaDB on Ubuntu Linux
Featured image WSL2 installation How to install WSL2 on Windows Server Linux
FEATURE IMAGE BASE URL 1 How to solve cannot find a valid base URL for repo: base/7/x86_64 Linux
GRADLE FEATURE How to install Gradle on Ubuntu Linux
image 10 Change Visual Studio Code UI language JIRA|Confluence|Apps
517443 637084112713220326 16x9 1 How can I tell if a password is set for a user account on 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

  • M365 Users
    Manage MS365 Accounts with PowerShell Microsoft Exchange/Office/365
  • fghj
    How to enable or disable DotNet Framework (NetFx3) via PowerShell, Control Panel, and DISM in Windows Windows
  • Ec2 Instance
    How to create an EC2 Instance AWS/Azure/OpenShift
  • Slide1 1
    How to manage Microsoft Defender Antivirus using Group Policy and Command Line Utility Anti-Virus Solution
  • BitLocker34
    BitLocker Back Door: Stolen laptop to inside the company network Security | Vulnerability Scans and Assessment
  • WSUS Analysis and Initial Assessment
    Preliminary Guide for WSUS Analysis and Initial Assessment Windows Server
  • Veeam Agent Error Fix
    Fixing AIX Veeam agent job startup delay issue Network | Monitoring
  • gitlab56789iuj
    Error unregistering Runner from GitLab: Forbidden with Docker Executor Network | Monitoring

Subscribe to Blog via Email

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

Join 1,821 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

Active Directory 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.