Armadillo Base OSのデフォルト設定では、ファイル、podmanのデータの保存先がRAMになっています。
保存先がRAMのまま作業を進めて電源を切ると、作業内容が残りません。
ここでは、RAM上のファイル、podmanのデータをeMMCに保存する方法を説明します。
詳細な説明は下記マニュアルを参照ください。
Armadillo-IoT ゲートウェイ G4:製品マニュアル「9.11.2. overlayfs と persist_file について」
Armadillo-IoT ゲートウェイ G4:製品マニュアル「8.1.3. PodmanのデータをeMMCに保存する」
RAM上のファイルをeMMCに保存する
下記のようにpersist_fileコマンドでファイル名を指定して実行します。
armadillo:~# persist_file [ファイル名]
RAM上のpodmanのデータをeMMCに保存する
基本的には、podmanのデータはeMMCに保存するように予め設定(disk mode)してから作業します。
ここでは、うっかりpodmanのデータをRAMに保存する設定(tmpfs mode)のまま作業した場合、eMMCに保存する方法です。
まず、作業中のコンテナをイメージ化します。
(コンテナのままではeMMCに保存できないため)
コンテナを停止し、コンテナが停止していること(Exited)を確認します。
armadillo:~# podman stop [コンテナ名]
armadillo:~# podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(略) (略) (略) (略) Exited (0) (略) [コンテナ名]
ここでは、例として
[コンテナ名]:mycon
を
[コンテナのイメージ名:タグ名]:image_mycon:v1.0.0
という名前でイメージ化します。
イメージ化するには、podman commitコマンドを使用します。
armadillo:~# podman commit mycon image_mycon:v1.0.0
コンテナをイメージ化できているか確認します。
(ここでは、image_mycon:v1.0.0に相当するイメージがあることを確認)
armadillo:~# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE R/O
localhost/image_mycon v1.0.0 (略) (略) (略) (略)
次に、podmanのデータの保存先をeMMCに設定するコマンドを実行します。
armadillo:~# abos-ctrl podman-storage --disk
上記コマンドは、podmanのデータをeMMCに保存するモード(disk mode)に遷移するものです。
このコマンド実行時に、RAM上にpodmanのデータがある場合は下記のように問われます。
What should we do? ([C]opy (default), [N]othing, [D]elete)
この問いに対して、Cを入力します。
Cを入力すると、RAM上のpodmanのデータをeMMCにコピーし、
podmanのデータをeMMCに保存するモード(disk mode)に遷移します。