Thursday, November 27, 2025



Podman : Use External Storage

 

When a Container is removed, data in it are also lost, so it's necessary to use external storage on Containers if you'd like to save your data on Containers.

[1]It's possible to mount a directory on Docker Host into Containers.
# create a directory for containers data

root@dlp:~# 
mkdir /var/lib/containers/disk01

root@dlp:~# 
echo "persistent storage" >> /var/lib/containers/disk01/testfile.txt

# run a Container with mounting the directory above on [/mnt]

root@dlp:~# 
podman run -it -v /var/lib/containers/disk01:/mnt debian /bin/bash
root@4cbfd32e7ee9:/# 
df -hT /mnt

Filesystem                  Type  Size  Used Avail Use% Mounted on
/dev/mapper/debian--vg-root ext4   74G  1.8G   68G   3% /mnt

root@4cbfd32e7ee9:/# 
cat /mnt/testfile.txt

persistent storage
[2]It's also possible to configure external storage by Podman Data Volume command.
# create [volume01] volume

root@dlp:~# 
podman volume create volume01

volume01
# display volume list

root@dlp:~# 
podman volume ls

DRIVER      VOLUME NAME
local       volume01

# display details of [volume01]

root@dlp:~# 
podman volume inspect volume01

[
     {
          "Name": "volume01",
          "Driver": "local",
          "Mountpoint": "/var/lib/containers/storage/volumes/volume01/_data",
          "CreatedAt": "2025-08-22T09:32:06.280204454+09:00",
          "Labels": {},
          "Scope": "local",
          "Options": {},
          "MountCount": 0,
          "NeedsCopyUp": true,
          "NeedsChown": true,
          "LockNumber": 12
     }
]

# run a container with mounting [volume01] to [/mnt] on container

root@dlp:~# 
podman run -it -v volume01:/mnt debian
root@0ab478c7b4c4:/# 
df -hT /mnt

Filesystem                  Type  Size  Used Avail Use% Mounted on
/dev/mapper/debian--vg-root ext4   74G  1.8G   68G   3% /mnt

root@0ab478c7b4c4:/# 
echo "Podman Volume test" > /mnt/testfile.txt

root@0ab478c7b4c4:/# 
exit
root@dlp:~# 
cat /var/lib/containers/storage/volumes/volume01/_data/testfile.txt

Podman Volume test
# possible to mount from other containers

root@dlp:~# 
podman run -v volume01:/var/volume01 debian cat /var/volume01/testfile.txt

Podman Volume test
# to remove volumes, do like follows

root@dlp:~# 
podman volume rm volume01

Error: volume volume01 is being used by the following container(s): 0ab478c7b4c4fb01ef52642a683277c23628277497ca28adbae4ff18413e0d34, 9af562aa7240aea4b346f5b9c6058101d1c66439e4996cb363a1c41be69bcdd6: volume is being used

# if some containers are using the volume you'd like to remove like above,
# it needs to remove target containers before removing a volume

root@dlp:~# 
podman rm 0ab478c7b4c4fb01ef52642a683277c23628277497ca28adbae4ff18413e0d34

root@dlp:~# 
podman rm 9af562aa7240aea4b346f5b9c6058101d1c66439e4996cb363a1c41be69bcdd6
root@dlp:~# 
podman volume rm volume01

volume01

No comments:

Post a Comment