🔧 初期化コンテナの主な用途
1. 共有ボリュームの初期化
あなたの例のように、emptyDir や hostPath などの共有ボリュームに対してディレクトリ作成や所有権変更を行う。
shコピーする編集するmkdir /mnt/html; chown 33:33 /mnt/html
Odooの /var/lib/odoo や /mnt/extra-addons を事前にセットアップしたい場合などに便利です。
2. 設定ファイルやテンプレートの配置
- Git から設定ファイルを取得
- QWeb テンプレートや言語ファイルを展開
ConfigMapを元に/etc/odoo/odoo.confを動的に生成
yamlコピーする編集するargs: [ "-c", "git clone https://repo/setting.git /mnt/conf" ]
3. 他サービスの待機処理(wait-for)
- DB(PostgreSQL)やRedisなど、依存サービスが先に立ち上がっていることを保証したい場合
- 簡易的な
sleepやnc -zで待機可能
yamlコピーする編集するargs: [ "-c", "until nc -z db 5432; do sleep 2; done" ]
4. データマイグレーション
Odooの -u all(モジュールアップデート)などのマイグレーションを初期化時に実行したい場合に有効です。
yamlコピーする編集するargs: [ "-c", "odoo -u all --stop-after-init" ]
5. 証明書の取得・配置
- cert-managerなどで取得したTLS証明書を
/etc/ssl/certsに初期コピー - 外部VaultやSecrets Managerから取り出した鍵情報をファイルに保存
6. サンプルデータの投入
- PostgreSQLの初期データロード(例:psqlスクリプト)
- Odooの初期データCSVをロードするPythonスクリプト実行
コメントを残す