アプリケーションで問題が発生した際には、まずアプリケーションのトラブルシューティングで、特定のエラーが掲載されているかどうかを確認してください。そこに該当するエラーメッセージが表示されていなければ、以下についてのトラブルシューティングを行うことが推奨されます。

  • 外部アプリケーションとの接続性の問題
  • startコマンドの誤り(たとえば、npmしか利用できない状況でyarnを使用しようとしている場合や、必要な起動スクリプトがないpackage.jsonファイルが使われている場合など)
  • startコマンドを連結させる場合、最後のコマンドでウェブサービスを起動しなければなりません。これによって、コンテナが実行され、着信接続を継続的にリッスンするようになります。
  • package.jsonの無効なパッケージ名。パッケージ名に「js」や「node」は使用しないでください。詳しくは、npmの公式ドキュメントをご覧ください。
  • パーミッションの問題
  • ファイルが見つからない状態

一般的なトラブルシューティングの手順

  1. アプリケーションがDockerfileを用いて作成されている場合、Bashがコンテナにインストールされていることを確認してください。通常、ベースイメージ(Ubuntuなど)にはシェルパッケージが含まれており、デフォルトでこれが動作します。ただし合理化されたコンテナにはシェルパッケージが含まれていない可能性があり、その場合には別途追加する必要があります。シェルパッケージの追加方法は、ベースイメージにより異なります。
    • Alpine:apk add bash
    • Ubuntu/Debian:apt install bash
    • Fedora:dnf install bash
  1. startコマンドsleep 9999に変更します。これでポッドが実行状態になり、ウェブターミナルからポッドと対話できるようになります。ウェブプロセスを編集してstartコマンドを変更します(「プロセス」>「ランタイムプロセス」>「ウェブプロセス」>「プロセスの編集」)。
  2. ウェブターミナルを開きます。
  3. 環境変数をチェックします。ウェブターミナルで、printenvと入力し、環境変数が期待通りのものになっていることを確認してください。
  4. アプリケーションを手動で実行します。デバッグオプションを有効にして、アプリケーションを手動で実行してみてください。実際のコマンドはアプリケーションによって異なります。詳細については、アプリケーションのビルドに使用している言語やパッケージマネージャのドキュメントをご確認ください。

関連ドキュメント