Armadilloフォーラム

[Armadillo-610] コンテナ内部からのファイル永続化(persist_file コマンド実行)

masa.yamaguchi

2024年11月15日 18時22分

==========
製品型番:Aramadillo-610
ABOSバージョン:3.20.3-at.3
カーネルバージョン: 5.10.226
その他:
==========

persist_file コマンド についてお伺いしたいことがございます。
コンテナ内からpersist_fileを実行することは可能でしょうか。
Armadillo-610製品マニュアルではコンテナ外での実行ケースのみであり、
コンテナ内で実行したケースの記載が見当たらなかった為、お伺いしております。

コメント

at_dominique.m…

2024年11月15日 18時55分

masa.yamaguchiさん

お世話になっています、
マルティネです。

> persist_file コマンド についてお伺いしたいことがございます。
> コンテナ内からpersist_fileを実行することは可能でしょうか。
> Armadillo-610製品マニュアルではコンテナ外での実行ケースのみであり、
> コンテナ内で実行したケースの記載が見当たらなかった為、お伺いしております。

persist_file をコンテナから実効できません。
コンテナのデーターを /var/app/volumes (ログ、センサー情報等)か /var/app/rollback/volumes (コンテナデータ)に保存すればその二つのディレクトリは直接に eMMC に書込みしてますので persist する必要ありません。

どうしても rootfs (/etc 等)の変更を行いたい場合は ABOS Web の様にコンテナの外にサービスを起動してファイルを変更することはできますが、persist_file コマンドを運用であまり使ってほしくないので、具体的の目的を教えていただけますでしょうか?
(基本的にないと思いますが変なタイミングでの書込みに電源を切断すると不具合になりえます)

よろしくお願いします

マルティネ 様

masa.yamaguchiです。
ご回答ありがとうございます。

persist_file をコンテナから実効できません。
コンテナのデーターを /var/app/volumes (ログ、センサー情報等)か /var/app/rollback/volumes (コンテナデータ)
に保存すればその二つのディレクトリは直接に eMMC に書込みしてますので persist する必要ありません。
 
どうしても rootfs (/etc 等)の変更を行いたい場合は ABOS Web の様にコンテナの外にサービスを起動して
ファイルを変更することはできますが、persist_file コマンドを運用であまり使ってほしくないので、具体的の目的を教えていただけますでしょうか?
(基本的にないと思いますが変なタイミングでの書込みに電源を切断すると不具合になりえます)

ご依頼の具体的な目的につきましてご報告いたします。
コンテナ内のアプリ①の情報を永続化(電源OFF/ONしても残る)して、別のコンテナのアプリ②からも
Armadillo-610再起動後にアクセスできるようにしたいだけであり、persist_fileのコマンドにはこだわっておりません。

マルティネです。

> コンテナ内のアプリ①の情報を永続化(電源OFF/ONしても残る)して、別のコンテナのアプリ②からも
> Armadillo-610再起動後にアクセスできるようにしたいだけであり、persist_fileのコマンドにはこだわっておりません。

コンテナ内の情報や設定の保存でしたらボリュームを使ってください。

例えば、コンテナのコンフィグファイルに「add_volumes /var/app/volumes/my_data:/my_data」を追加するとコンテナ内の /my_data ディレクトリに書き込みする情報は eMMC に保存されていますので再起動でも残ります。
二つめのコンテナがそのデータを読み取るだけであれば「add_volumes /var/app/volumes/my_data:/my_data:ro」で読み取り専用にアクセスできます(:roなしでも両側からアクセスできます)

マルティネ様

masa.yamaguchi です。
ご回答ありがとうございます。

コンテナ内の情報や設定の保存でしたらボリュームを使ってください。
 
例えば、コンテナのコンフィグファイルに
  「add_volumes /var/app/volumes/my_data:/my_data」
を追加するとコンテナ内の 
   /my_data
ディレクトリに書き込みする情報は eMMC に保存されていますので再起動でも残ります。
二つめのコンテナがそのデータを読み取るだけであれば
  「add_volumes /var/app/volumes/my_data:/my_data:ro」
で読み取り専用にアクセスできます(:roなしでも両側からアクセスできます)

上記方法を検討したいと思います。