コミュニティソリューション

Dockerのアップデート後にCasaOSでアプリを読み込めない問題を解決する

A CasaOS user on Ubuntu with Docker 29.0.1 could load the dashboard but not the Apps section. Logs showed CasaOS App Management using Docker API 1.43 while the Docker daemon required at least 1.44, alongside secondary permission errors.

CasaOS自体は読み込めるのに、Dockerのアップデート後、Appsセクションに「アプリの読み込みに失敗しました。後でもう一度更新してください」とだけ表示される場合は、ファイルシステムのアクセス権を変更する前にCasaOS App Managementのログを確認してください。2025年11月のIceWhale Communityの事例では、決定的なエラーはダッシュボード自体ではありませんでした。CasaOS App ManagementがDocker API 1.43を使用しようとしていた一方、Docker Engine 29.0.1は少なくともAPI 1.44を必要としていました。

同じログには、以下のパス配下のアクセス権エラーも含まれていました。 /var/run/casaos, /var/log/casaosおよび /var/lib/casaosただし、Docker APIの拒否は別の互換性障害であり、CasaOSがコンテナやアプリの情報を一覧表示できない原因となっていました。CasaOSのメンテナーはその後、新しいDockerバージョンで動作し、API互換性を処理できるようインストールスクリプトを更新しました。そのため、現在のユーザーはDockerを恒久的にダウングレードするのではなく、まず更新済みのCasaOSインストーラーを使用してください。

実際の互換性問題を特定したエラー

元の著者は次のように報告しました。

デーモンからのエラーレスポンス:
クライアントバージョン1.43は古すぎます。
サポートされる最小APIバージョンは1.44です。
新しいバージョンのクライアントにアップグレードしてください

環境は次のとおりでした。

  • Ubuntu Server;
  • Docker Engine 29.0.1;
  • Docker API 1.52;
  • 2024年10月に構築されたCasaOS App Management。

これにより、CasaOSのダッシュボードは開けるのにAppsセクションだけが失敗する理由が分かります。Webインターフェースと、Dockerを基盤とするアプリ管理サービスは別の層だからです。

DockerのアップデートでCasaOSのアプリ一覧が壊れる理由

Docker Engineはバージョン付きAPIを公開しています。古い管理クライアントは通常、新しいデーモンとネゴシエーションできますが、Dockerは受け入れるAPIの最低バージョンを段階的に引き上げてきました。

現在のDockerドキュメントでは、APIバージョンのネゴシエーションについて説明し、古いAPIバージョンは段階的に非推奨化または削除されていると記載されています。詳しくはDocker Engine APIドキュメントをご覧ください。

この事例では、CasaOS App ManagementはAPI 1.43を使用していましたが、Docker 29デーモンは1.44未満のAPIを拒否していました。そのため、UIがアプリ一覧を表示する前にアプリの列挙に失敗しました。

アクセス権エラーは実在したが、同じ障害ではなかった

ログには次のようなメッセージも含まれていました。

open /var/run/casaos/app-management.url: アクセスが拒否されました
mkdir /var/lib/casaos/appstore/...tmp: アクセスが拒否されました
ログファイルの名前を変更できません……アクセスが拒否されました

著者は該当するCasaOSディレクトリのアクセス権をすでに作成・調整していましたが、それでもApp Storeは失敗し続けました。この結果は重要です。広範なアクセス権の変更では、Docker APIの非互換性を解決できませんでした。

再帰的には実行しないでください chmod 777 UIに「アプリの読み込みに失敗しました」と表示されるからといって、CasaOSのシステムディレクトリ全体の所有者を変更したりしないでください。まず正確なログを確認してください。

MjTechは、これは既知のDocker関連の問題だと回答し、CasaOSのDocker APIエラーに対するBigBearコミュニティの修正方法を紹介しました。

当時、一般的な一時的回避策には次のものがありました:

  • systemdオーバーライドによって、デーモンが受け入れる最小Docker APIバージョンを引き下げる
  • または、CasaOSのクライアントAPIを引き続き受け入れる古いDockerリリースを一時的に使用する

これらの回避策は2025年11月には有用でしたが、その後CasaOSのインストーラーが更新されたため、2026年の恒久的な手順として自動的に採用すべきではありません。

CasaOSは後にインストーラーを更新しました

2025年12月、CasaOSのメンテナーはGitHub上で、インストールスクリプトを修正し、次の処理を行えるようにしたと報告しました:

  • 古いDocker 24.0.7を対象にする代わりに、利用可能な最新のDocker Engineをインストールする
  • 新しいDockerバージョン向けにDocker APIの互換性処理を適用する
  • CasaOSのサービスと組み込みアプリケーションを最新のDockerで動作させる

メンテナーは、クリーンインストールまたは現在のインストールスクリプトを使用して、以前発生したDockerアプリが読み込まれない問題を修復できると明確に述べました。

最新のソースについては、CasaOSインストーラースクリプトを参照してください。

現在の最初の修正:更新されたCasaOSインストーラーを使用する

CasaOSでは現在、次のように案内されています:

curl -fsSL https://get.casaos.io | sudo bash

または:

wget -qO- https://get.casaos.io | sudo bash

既存のサーバー上でインストーラーを実行する前に、重要なアプリケーションのデータベースと設定をバックアップしてください。この修復はCasaOSの状態を保持することを目的としていますが、ホームサーバーでは修復スクリプトだけを唯一の復旧計画にしてはいけません。

最新のインストール手順は、CasaOS GitHubリポジトリで確認できます。

互換性オーバーライドを適用する前にAPIエラーを確認する

Dockerを確認します:

docker version

次にCasaOS App Managementを確認します:

sudo systemctl status casaos-app-management
sudo journalctl -u casaos-app-management --no-pager -n 100

ログに次の内容が明示的に含まれている場合:

クライアントバージョン1.43は古すぎます
サポートされる最小APIバージョンは1.44です

その場合は、元のスレッドと同じDocker APIクラスの障害が発生しています。

ログにディスク容量不足、DNS障害、停止したDockerデーモン、破損したアプリストアカタログ、ファイル欠落のいずれかが表示される場合は、UIメッセージが同じだからという理由だけでAPIの回避策を適用しないでください。

過去のDocker API互換性オーバーライドについて

2025年の障害発生時、コミュニティやGitHubで紹介された回避策により、古いクライアントAPIバージョンを再び使用できるDockerのsystemd環境設定が追加されました。これにより、CasaOSが引き続きAPI 1.43を使用していても、アプリ一覧を復元できる可能性がありました。

これはDockerデーモンの互換性の境界を変更します。検証済みの古いクライアントと新しいデーモンの不一致に対する一時的な互換性メカニズムとして扱い、一般的なCasaOSの調整設定として使用しないでください。

現在のDockerドキュメントでは、従来のAPIサポートは時間とともに変化すると説明されており、古いAPIバージョンに恒久的に依存するのではなく、クライアントを最新に保つことが推奨されています。

CasaOSでDOCKER_API_VERSIONを無闇に設定しないでください

Dockerの DOCKER_API_VERSION variableは、クライアントに特定のAPIバージョンの使用を強制し、通常のAPIネゴシエーションを無効にします。Dockerでは主に、正確なAPIバージョンが必要な場合やデバッグ用として説明されています。

これは、新しいDockerデーモンに古いCasaOSクライアントを受け入れさせることとは異なります。任意のクライアント側API値を設定すると、不一致が悪化する可能性があります。

Dockerが正常に動作していることも確認

sudo systemctl status docker
docker ps

Docker自体が停止している場合、APIのバージョンに関係なく、CasaOSは実行中のコンテナを一覧表示できません。

再インストールの前にディスク容量を確認

同じ「アプリの読み込みに失敗しました」というUIメッセージは、システムディスクがほぼ満杯になっている無関係なCasaOSのケースでも表示されています。次を確認してください。

df -h

ルートファイルシステムの容量が不足すると、ログ、一時ファイル、App Storeの更新、Dockerの状態に問題が生じる可能性があります。同じUIバナーが表示されても、原因まで同じだとは考えないでください。

安全なトラブルシューティングの順序

  1. CasaOSのダッシュボード自体が開くことを確認してください。
  2. 確認 systemctl status docker および docker ps.
  3. 確認 df -h.
  4. 読む casaos-app-management ログ
  5. ログにAPI 1.43/1.44の不一致が示されている場合は、まず現在のCasaOSインストーラーまたは修復手順を使用してください。
  6. API互換性のオーバーライドは、不一致が確認され、現在の修復手順が利用できない場合にのみ使用してください。
  7. 根拠なしにCasaOSのディレクトリの権限を広範囲に緩和しないでください。
  8. 再インストールやシステムレベルのDocker変更を行う前に、アプリのデータをバックアップしてください。

CasaOS「アプリの読み込みに失敗しました」FAQ

CasaOSのダッシュボードは動作するのに、アプリは動作しないのはなぜですか?

UI、CasaOSサービス、Dockerデーモン、CasaOS App Managementは、それぞれ独立したコンポーネントです。元のケースでは、App ManagementがDockerに問い合わせた際にのみ失敗していました。

元のスレッドではDocker 29が原因でしたか?

元のログでは、Docker 29.0.1がAPI 1.44を要求している一方、インストールされているCasaOS App ManagementクライアントはAPI 1.43を使用していることが示されていました。この不一致により、アプリ一覧の取得が直接妨げられていました。

ページを直すためにCasaOSのフォルダーをchmodすべきですか?

根拠がない限り、すべきではありません。元の投稿者はすでに権限を変更していましたが、それでもDocker APIエラーは解消しませんでした。まず正確なサービスログを確認してください。

Dockerをダウングレードすべきですか?

それは過去に使われた回避策の一つです。CasaOSはその後、最新のDockerとの互換性をサポートするようインストーラーを更新しました。古いDockerリリースを強制的に使用する前に、現在の修復・インストール手順を使ってください。

「アプリの読み込みに失敗しました」は、常にDocker APIの不一致を意味しますか?

いいえ。同じUIメッセージは、停止したDockerデーモン、ディスク容量不足、権限、アプリ管理の失敗、その他のサービス問題によって表示されることがあります。診断にはログが必要です。