トラブルシューティング
アプリケーションに問題がある場合は、以下のことを検討し、除外するように努めてください。
- データベース接続の問題
- 環境変数
- 不適切な変数
- 特殊文字
- Base64 エンコードした変数
- 外部アプリケーションとの接続性の問題
- 誤りのあるstartコマンドの開始─たとえば、
npm
しか利用できないのにyarn
を使用しようとしている場合や、必要なstartスクリプトがない状態のpackage.jsonファイルを使用している場合など - startコマンドを連結する場合、最後のコマンドがウェブサービスを開始する必要あり(これにより、コンテナが実行され、着信する接続をリッスンし続けます)
- package.json内のパッケージ名が無効(たとえば、名前に「js」や「node」を使用しないでください。詳細については、npm Docsのnpmのpackage.jsonの取り扱いについてをご参照ください)
- パーミッションの問題
- ファイルが見つからない
一般的なトラブルシューティングの手順
- アプリケーションがDockerfileで作成されている場合、Bashがコンテナにインストールされていることを確認:通常、ベースイメージ(Ubuntuなど)にはシェルパッケージが含まれており、デフォルトで動作します。合理化されたコンテナにはシェルパッケージが含まれていない場合があり、その際には追加する必要があります。シェルパッケージの追加方法は、ベースイメージにより決定されます。
- Alpine:
apk add bash
- Ubuntu/Debian:
apt install bash
- Fedora:
dnf install bash
- Alpine:
- startコマンドを
sleep 9999
に変更:これでPodが実行状態になり、ウェブターミナルからPodと対話できるようになります。ウェブプロセスを編集してstartコマンドを変更可能です(「プロセス」>「ランタイムプロセス」>「ウェブプロセス」>「プロセスの編集」)。 - ウェブターミナルを開く
- 環境変数をチェックする:ウェブターミナルで、
printenv
と入力し、環境変数が期待通りになっていることを確認します。 - アプリケーションを手動で実行する:デバッグオプションを有効にして、アプリケーションを手動で実行してみてください。このコマンドはアプリケーションによって異なります。詳細については、アプリケーションがビルドされた言語やパッケージマネージャのドキュメントをご確認ください。