Container Station でよくあるコンテナ関連の問題をデバッグし、解決する方法


最終更新日: 2025-04-08

Container Station は、サードパーティ製アプリケーションやコンテナを QNAP デバイス上にデプロイできるようにします。これらのコンテナの作成に使用されるオープンソースイメージは、デプロイメント上の問題を引き起こす場合があります。

QNAP は、サードパーティ製イメージに対するテクニカルサポートは提供しません。コンテナに関連する一般的な問題を調べ、解決させるには、以下の手順を行ってください。

コンテナ設定を確認する

コンテナは、そのソースイメージの属性をすべて継承します。デプロイメントする前に、イメージファイルをスキャンし、セキュリティの脆弱性、誤設定、バックドアの脅威を確認します。

デプロイメント後にコンテナで問題が生じた場合には、コンテナログを分析して問題を調べ、解決してください。

イメージ情報を調べる

コンテナをインストールする前に、イメージの前提条件を見直し、必要な手順を完了させてください。

ヒント
Docker レジストリイメージに対するイメージの詳細を見るには、Container Station で[探索]> [Docker Hub]でそのイメージをクリックします。あるいは、Docker Hubでそのイメージを検索します。

たとえば、postgres イメージを使用して PostgreSQL コンテナをデプロイするには、POSTGRES_PASSWORD 環境変数を設定する必要があります。この変数がないと、コンテナのデプロイが失敗します。

重要
Container Station で PostgreSQL コンテナをデプロイする場合は、環境 セクションで POSTGRES_PASSWORD環境変数を指定してください。

Container Station のイベントログを分析する

Container Station は、アプリケーションおよびコンテナの動作をすべてログします。エラーログは、アプリケーションまたはコンテナの名称、エラーコード、エラーの詳細を含む明示的なエラーメッセージを提供します。

  1. Container Station を開きます。
  2. [イベントログ]をクリックします。
  3. エラーログの場所を見つけます。

例1

この例では、イベントログが起動の失敗を記録しています。それは、指定したポートが他のサービスによってすでに使用されており、コンテナが必要となるネットワークインターフェイスをバインドできなかったためです。

例2

エントリーポイントコマンドの誤設定により、イベントログが起動の失敗を記録しているこの例では、コンテナが想定する処理を実行できませんでした。

個々のコンテナログをチェックする

エラーや警告メッセージがないか、個々のコンテナログを分析します。Container Station は、環境変数の不足、不正な名前形式、イメージ取得の失敗など、エラーの状態を詳細にログします。

  1. Container Station を開きます。
  2. [コンテナ]をクリックします。
  3. 詳細ページを開くには、コンテナを選択します。
  4. [ログ]をクリックします。
  5. エラーおよび警告のメッセージを確認します。

例1

MySQL コンテナをデプロイする前に、MYSQL_ROOT_PASSWORD 環境変数が設定されていなかったため、起動が失敗し、初期化後すぐに終了したことが、イベントログに記録されています。

例2

Rancher コンテナが、特権モードを有効にせずにrancher/rancher イメージをデプロイしようとしたため、起動が失敗したことが、イベントログに記録されています。--privileged フラグがないと、コンテナは適切に初期化することができません。

イメージの互換性を確認する

イメージが、お使いの QNAP デバイスのプロセッサーアーキテクチャとオペレーティングシステムに対応していることを確認します。イメージのバージョンやアーキテクチャが正しくないと、コンテナが実行できません。

プラットフォームの互換性を確認する

イメージのプラットフォームが、お使いの QNAP デバイスの CPU アーキテクチャに適合していることを検証します。イメージを別の QNAP デバイスに転送する場合、両方のデバイスが同じアーキテクチャを使用していることを確認してください。

重要
64ビット x86 イメージは、64ビットあるいは 32ビットの ARM デバイスでは実行できません。同様に、ARM イメージは、64ビット x86 デバイスで実行できません。

Docker

Docker イメージページには、各イメージバージョンでサポートされるアーキテクチャとオペレーティングシステムの一覧があります。以下は、Docker イメージの一般的な互換性ガイドラインです。

  • linux/arm/v7 イメージが 32ビット ARM アーキテクチャをサポートする。
  • linux/arm64/v8 イメージが 64ビット ARM アーキテクチャをサポートする。
  • linux/amd64 イメージが 64ビット x86 アーキテクチャをサポートする。

LXD

互換性に関する詳細はkLXD イメージサーバーをご覧ください。以下は、LXD コンテナの一般的な互換性ガイドラインです。

  • armhf コンテナが 32ビット ARM アーキテクチャをサポートする。
  • arm64 コンテナが 64ビット ARM アーキテクチャをサポートする。
  • amd64 コンテナが 64ビット x86 アーキテクチャをサポートする。

コンテナの非互換性をみつける

対応しない Docker コンテナは、exec format errorをログし、アーキテクチャの不一致を指摘する場合があります。

対応しない LXD がデプロイしようとすると、Container Station はイベントログページにエラーログを記録します。

ページサイズの対応をチェックする

QNAP は、特定の 32ビット ARM デバイスにおけるパフォーマンスを向上させるために、システムページサイズを 4K から 32K に更新しました。この変更は、コンテナがメモリリソースにアクセスする際の制限になることがあり、その場合にはセグメンテーションエラーが発生します。デプロイメント前に、サードパーティ製コンテナの互換性を検証してください。

シリーズモデル
TS-x31PTS-531P
TS-x31P3TS-231P3、TS-431P3
TS-x31XTS-231X、TS-431X、TS-531X、TS-831X、TS-431X2、TS-431X3
TS-x31KXTS-431KX
TS-x31XUTS-431XU、TS-431XU-RP、TS-831XU、TS-831XU-RP、TS-1231XU、TS-1231XU-RP
TS-x31XeUTS-431XeU
TS-x35TS-1635

QNAP システム設定をチェックする

QNAP デバイスが、コンテナのデプロイメントとオーケストレーションのために積雪に設定されていることを確認します。

ネットワーク設定を検証する

  1. QNAP デバイスにログインし、ネットワークと仮想スイッチ を開きます。
  2. [詳細]モードを選択します。
  3. [ネットワーク] > [仮想スイッチ]に進みます。
  4. コンテナネットワークによって使われているネットワークセグメントを確認します。
  5. [コントロールパネル] > [システム] > [セキュリティ] > [許可/拒否リスト]に進みます。
    注意
    デバイスに QuFirewall がインストールされている場合には、QuFirewall を開いてから、必要なネットワークセグメントを許可リストに追加してください。
  6. コンテナネットワークセグメントが許可リストに追加されていることを確認します。
    重要
    QNAP では、次の IP アドレス範囲を許可リストに追加することを強くお勧めします。10.0.3.0/24, 10.0.5.0/24, 10.0.7.0/24, 172.29.0.0/22, 172.30.0.0/22。Kubernetes サービスが有効な場合には、10.42.0.0/24 (Kubernetes Pod Network CIDR) も追加してください。

高度な権限設定を確認する

注意
コンテナは、システム上で直接実行され、root 権限をホストデバイスと共有します。詳細なフォルダー権限を有効にすると、コンテナの動作に影響する場合があります。コンテナが実行できない場合、詳細なフォルダー権限を無効にしてください。
  1. [コントロールパネル]>[権限設定]>[共有フォルダー]> [拡張パーミッション]に進みます。
  2. [詳細フォルダー権限を有効にする]を無効にします。
  3. [適用]をクリックします。
  4. [コントロールパネル] > [権限] > [クォータ]に進み、ユーザークォータ設定を確認します。
    注意
    クォータ設定は、クォータ管理が有効になっている場合にのみ適用されます。
    警告
    想定していないクォータ制限がないかどうか、ユーザークォータ設定を確認してください。誤ったクォータ設定があると、ストレージの制限が加わり、コンテナがエラーを報告することがあります。

ストレージとネットワークの設定を確認する

  1. [ストレージ&スナップショット]>[ストレージ]>[ストレージ/スナップショット]に進みます。
  2. 使用可能なストレージ容量を確認します。

    注意
    ステータスが準備完了以外の場合、ストレージエラーがないかどうかディスクステータスを確認してください。詳細については、QTS または QuTS hero ユーザーガイドのディスクの状態をご覧ください。

ネットワーク設定を確認する

ネットワーク設定正しく行われているかを、次の手順で確認します。

  1. [ネットワークと仮想スイッチ] > [ネットワーク] > [インターフェイス]に進み、DNS とゲートウェイの設定を確認します。
  2. DHCP サーバーが、仮想スイッチを使用してコンテナに IP アドレスを割り当てられるようにします。詳細については、QTS または QuTS hero ユーザーガイドの仮想スイッチ設定をご覧ください。
    注意
    仮想スイッチ設定中の、IP アドレスを割り当てない (外部ネットワークや孤立したネットワークを構築する場合などの特殊目的のため)設定は、特定のネットワーキング設定のためです。ネットワークのカスタムセットアップが不要な場合は、この設定を無効にしておくことをお勧めします。
    ただし、外部ネットワークや孤立したネットワークをセットアップする場合には、これを有効にします。この設定値は、コンテナのネットワーク設定に影響を与えることにご注意ください。詳細については、QTS または QuTS hero ユーザーガイドの詳細モードで仮想スイッチを設定するをご覧ください。
  3. [Container Station] > [環境設定] > [ネットワーク設定]に進み、コンテナネットワークセグメントがローカル環境と競合していないことを確認してください。
    重要
    Container Station は、デフォルトの IP ネットワーク:として、10.0.3.0/24, 10.0.5.0/24 および 10.0.7.0/24 を使用します。

オンラインヘルプとドキュメンテーションを参照する

いくつかのオープンソースイメージは、ユーザーによるソースコードの修正を許可しています。いずれのトラブルシューティング手法を行っても問題の解決に至らない場合、ソースイメージが対応していないか、あるいは壊れている可能性があります。そのようなケースでは、QNAP ではイメージのウェブサイトをアクセスし、イメージについての詳細情報を見たり、同じカテゴリーの他のイメージを使ってみることをお勧めします。

イメージが Docker レジストリからのものである場合、詳細をそのイメージの概要ページで見ることができます。たとえば、Docker の Ubuntu image にはより詳しい情報を素早く参照できるリンクがあります。

さらに読む

この記事は役に立ちましたか?

39% の人が、これは役に立つと思っています。
ご意見をいただき、ありがとうございます。

この記事の改善箇所をお知らせください。

その他のフィードバックがある場合は、以下に入力してください。

仕様を選択

      もっと見る 閉じる

      当ページを他の国/地域で見る:

      気軽にお問い合わせ! show inquiry button
      open menu
      back to top