Podman : 外部ストレージを利用する2024/02/29 |
コンテナーが破棄されると当然コンテナー内部のデータも消失するため、コンテナーで作成したデータを永続化するには、外部ストレージを利用する必要があります。
|
|
[1] | ホスト側の任意のディレクトリーをコンテナーにマウントして利用することができます。 |
root@dlp:~ # podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/freebsd-nginx latest a0a053cc78a3 16 hours ago 1.17 GB localhost/freebsd-httpd latest add46dedb2b7 22 hours ago 1.44 GB localhost/freebsd-base latest 2527bfa5eeb4 42 hours ago 1.05 GB quay.io/centos/centos stream9 ce3ac91d4020 2 weeks ago 161 MB docker.io/library/ubuntu latest 3db8720ecbf5 2 weeks ago 80.4 MB # 任意のデータ保管用ディレクトリー作成 root@dlp:~ # mkdir /var/lib/containers/disk01 root@dlp:~ # echo "persistent storage" >> /var/lib/containers/disk01/testfile.txt # 作成したディレクトリーをコンテナーの [/mnt] にマウントして起動 root@dlp:~ # podman run -it -v /var/lib/containers/disk01:/mnt freebsd-base /bin/sh
df -hT /mnt Filesystem Type Size Used Avail Capacity Mounted on /var/lib/containers/disk01 nullfs 73G 1.6G 71G 2% /mnt# cat /mnt/testfile.txt persistent storage |
[2] | データボリュームを作成して利用することもできます。 |
# [volume01] ボリューム作成 root@dlp:~ # podman volume create volume01 volume01 # ボリューム一覧表示 root@dlp:~ # podman volume ls DRIVER VOLUME NAME local volume01 # [volume01] の詳細表示 root@dlp:~ # podman volume inspect volume01 [ { "Name": "volume01", "Driver": "local", "Mountpoint": "/var/db/containers/storage/volumes/volume01/_data", "CreatedAt": "2024-02-29T08:44:43.156912115+09:00", "Labels": {}, "Scope": "local", "Options": {}, "MountCount": 0, "NeedsCopyUp": true, "NeedsChown": true, "LockNumber": 46 } ] # [volume01] を コンテナー上の [/mnt] にマウントして起動 root@dlp:~ # podman run -it -v volume01:/mnt freebsd-base /bin/sh
df -hT /mnt Filesystem Type Size Used Avail Capacity Mounted on /var/db/containers/storage/volumes/volume01/_data nullfs 73G 1.6G 71G 2% /mnt
#
echo "Podman Volume test" > /mnt/testfile.txt # exit
root@dlp:~ #
cat /var/db/containers/storage/volumes/volume01/_data/testfile.txt Podman Volume test # 別コンテナーからも利用可 root@dlp:~ # podman run -v volume01:/var/volume01 freebsd-base /bin/cat /var/volume01/testfile.txt Podman Volume test # ボリュームを削除する場合は以下 root@dlp:~ # podman volume rm volume01 Error: volume volume01 is being used by the following container(s): 8b37e1975fe87beefc378c4e24c185dc849604e7defebb658976b9185212d19d, e026dd578bf559d6a9ec3e00c93cb113da5d427ea72f619c7f29ce7fccfe2f0f: volume is being used # 上記のようにコンテナーがボリュームを使用中の場合は削除不可のため # ボリュームを削除したい場合は先にコンテナーを削除 root@dlp:~ # podman rm 8b37e1975fe87beefc378c4e24c185dc849604e7defebb658976b9185212d19d root@dlp:~ # podman rm e026dd578bf559d6a9ec3e00c93cb113da5d427ea72f619c7f29ce7fccfe2f0f
podman volume rm volume01 volume01 |
Sponsored Link |