Armadilloフォーラム

コンテナ内のvsftpd.confを作成したものを読み込みたい

new_bee

2025年6月2日 11時37分

いつもお世話になっております。

6.9.8.2. FTP サーバを構築するを参考にFTPサーバの構築を行っているのですが
コンテナ再起動時に設定ファイルが初期化されてしまいます。
app.conf やdockerfileでイメージ作成時にvsftpd.conf を変更済みのファイルで構築したいと考えています。

dockerfile内で以下コマンドを実行していますがうまく反映できていません

COPY vsftpd.conf /etc/vsftpd.conf
EXPOSE 20 21 21100-21110
CMD ["/usr/sbin/vsftpd", "/etc/vsftpd/vsftpd.conf"]

コンテナイメージ作成する際やarmadillo本体にあらかじめ作成したファイルを読み込めるようにできればと考えています。
解決方法をご教授していただけると助かります。
宜しくお願い致します。
==========
製品型番:A6E
Debian/ABOSバージョン:3.21.3-at.7.20250528
カーネルバージョン:5.10.237-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

コメント

at_dominique.m…

2025年6月2日 12時17分

new_beeさん

> 6.9.8.2. FTP サーバを構築するを参考にFTPサーバの構築を行っているのですが
> コンテナ再起動時に設定ファイルが初期化されてしまいます。
> app.conf やdockerfileでイメージ作成時にvsftpd.conf を変更済みのファイルで構築したいと考えています。

コンフィグファイルを変更する予定はない場合はこれでもいいですが、一般的にはボリュームでコンフィグファイルを置き換えることが多いです。
例えば、コンフィグファイルを /var/app/rollback/volumes/vsftp.conf に保存しておいて、コンテナコンフィグに「 add_volumes /var/app/rollback/volumes/vsftp.conf:/etc/vsftpd/vsftpd.conf:ro」に記載すれば後で簡単にファイルを変更できます。

> コンテナイメージ作成する際やarmadillo本体にあらかじめ作成したファイルを読み込めるようにできればと考えています。

すみません、こちらの「ファイルを読み込める」というのはどういうことでしょうか。
ATDE でコンテナを作成する際(Generate xx SWU を実行する際)に Armadillo にあるファイルをコピーしてコンテナに入れたいということでしょうか。

よろしくお願いします。

マルティネさん

お世話になっております。

app.confに教えていただいたようにadd_volume を追加し問題なく反映されていることを確認できました。
ありがとうございます。

> ATDE でコンテナを作成する際(Generate xx SWU を実行する際)に Armadillo にあるファイルをコピーしてコンテナに入れたいということでしょうか。
わかりずらく申し訳ありません。その認識で間違っておりません。
量産する際にSWUを実行した際に、新しいarmadilloにvsftpd.confをコピーしコンテナ内で読み込みできればと考えていました。

宜しくお願い致します。

> new_beeさん
>
> > 6.9.8.2. FTP サーバを構築するを参考にFTPサーバの構築を行っているのですが
> > コンテナ再起動時に設定ファイルが初期化されてしまいます。
> > app.conf やdockerfileでイメージ作成時にvsftpd.conf を変更済みのファイルで構築したいと考えています。
>
> コンフィグファイルを変更する予定はない場合はこれでもいいですが、一般的にはボリュームでコンフィグファイルを置き換えることが多いです。
> 例えば、コンフィグファイルを /var/app/rollback/volumes/vsftp.conf に保存しておいて、コンテナコンフィグに「 add_volumes /var/app/rollback/volumes/vsftp.conf:/etc/vsftpd/vsftpd.conf:ro」に記載すれば後で簡単にファイルを変更できます。
>
> > コンテナイメージ作成する際やarmadillo本体にあらかじめ作成したファイルを読み込めるようにできればと考えています。
>
> すみません、こちらの「ファイルを読み込める」というのはどういうことでしょうか。
> ATDE でコンテナを作成する際(Generate xx SWU を実行する際)に Armadillo にあるファイルをコピーしてコンテナに入れたいということでしょうか。
>
> よろしくお願いします。

at_dominique.m…

2025年6月2日 15時41分

マルティネです

> app.confに教えていただいたようにadd_volume を追加し問題なく反映されていることを確認できました。
> ありがとうございます。

操作できて何よりです。

> > ATDE でコンテナを作成する際(Generate xx SWU を実行する際)に Armadillo にあるファイルをコピーしてコンテナに入れたいということでしょうか。
> わかりずらく申し訳ありません。その認識で間違っておりません。
> 量産する際にSWUを実行した際に、新しいarmadilloにvsftpd.confをコピーしコンテナ内で読み込みできればと考えていました。

了解しました。
参考までに回答しますが、一言で言えば SWU をインストールする際にコンテナのイメージを更新するのは難しいです。
起動時に起動中のコンテナを停止して「abos-ctrl podman-rw build」で「FROM ftp_image」「COPY conf」のような簡易ビルドはできますが、SWU やインストーラーでそれを対応してません。
頑張ればインストーラーの postinstall 任意スクリプトで適切な podman コマンドでビルドできますが、ややっこしい上にその後に固有変更を SWU 更新で維持できないので推奨できません。
ボリュームで対応できたようですのでそちらの方法がいいと思います。

よろしくお願いします

マルティネ様

> 頑張ればインストーラーの postinstall 任意スクリプトで適切な podman コマンドでビルドできますが、ややっこしい上にその後に固有変更を SWU 更新で維持できないので推奨できません。
> ボリュームで対応できたようですのでそちらの方法がいいと思います。

丁寧に回答ありがとうございます。
適宜変更対応したほうが楽なようなのでadd_volumeのほうで変更対応したいと思います。
ありがとうございました。