この例では、Release を使用して JelinaOS デバイスへコンテナアプリケーションをデプロイする全手順を示します。プロジェクトの導入用テンプレートとして利用できます。
1 台のエッジデバイスに Web サービスをデプロイします。要件は、リリースによる管理、自動起動、異常時の自己復旧、データ永続化です。
手順 1:システムの準備
Section titled “手順 1:システムの準備”- システムのインストールを完了します。
- 初回起動と設定で基本設定を行います。
- JelinaCloud に接続し、デバイス登録を完了します。
docker versionでコンテナランタイムを確認します。
手順 2:イメージのビルドとプッシュ
Section titled “手順 2:イメージのビルドとプッシュ”開発環境でイメージをビルドし、レジストリへプッシュします。
docker build -t registry.example.com/webapp:1.0.0 .docker push registry.example.com/webapp:1.0.0手順 3:リリースの作成
Section titled “手順 3:リリースの作成”JelinaCloud でリリースを作成し、イメージ、再起動ポリシー、環境変数、ポート、ボリュームを設定してコンテナを追加します。パッケージのアップロードを含む詳細は、JelinaCloud Release の作成を参照してください。
手順 4:デバイスへのデプロイ
Section titled “手順 4:デバイスへのデプロイ”対象フリートにリリースを配信すると、エージェントが自動適用します。デバイス上で検証します。
docker ps # コンテナが稼働中curl http://localhost:8080 # サービスへアクセス可能docker logs webapp # ログが正常手順 5:稼働保護の検証
Section titled “手順 5:稼働保護の検証”- 異常時の自己復旧:異常を模擬した後、エージェントが自動再起動して復旧すること。
- 自動起動:デバイス再起動後、アプリケーションが自動で動作を再開すること。
- データの永続化:コンテナの更新・再作成後も、データパーティション内のデータが保持されること。
手順 6:新バージョンの公開(任意)
Section titled “手順 6:新バージョンの公開(任意)”- 新バージョンのイメージをビルドしてプッシュします。
- イメージバージョンを更新した新しいリリースをクラウドで作成します。
- デバイスへ配信し、自動アップグレードします。
- 問題があれば、元のバージョンを再指定して戻します。
| 要件 | 実現方法 |
|---|---|
| リリース管理 | リリースで定義し、エージェントが一元デプロイ |
| 自動起動 | リリースの再起動ポリシーに従い、システム起動時に復旧 |
| 自己復旧 | エージェントが異常なアプリケーションを自動再起動 |
| データ永続化 | データパーティションにマウント |
| バージョン更新 | 新リリースをデプロイ。ロールバックに対応 |
関連ドキュメント
Section titled “関連ドキュメント”- コンテナアプリケーション — 設定の説明
- クラウドからのアプリケーション配信と OTA — リリースと更新のフロー
- アプリケーション管理 — リリース体系の概要