web-dev-qa-db-ja.com

コンテナを起動できませんでした。開始して、PORT環境変数で定義されたポートでリッスンできませんでした

コンテナイメージをビルドしましたが、gcloudコマンドラインまたはCloud Consoleからデプロイしようとすると、「コンテナの起動に失敗しました。起動に失敗し、定義されたポートでリッスンできませんでしたPORT環境変数によって。」

6
Steren

他の理由の1つは、私が観察したものかもしれません。 Dockerイメージには、アプリケーションを実行するために必要なコードがない場合があります。

TypeScriptでNodeアプリケーションを記述しました。アプリケーションをドッキングするには、コードtscをコンパイルしてdocker buildを実行するだけですが、 gcloud builds submitがそれを処理し、.dockerignoreに関連して提案されたDockerfileとしてコンパイルされたコードを選択し、ソースコードをビルドしてリポジトリに送信します。

しかし、ソースコードをコピーしてCloud Buildに送信するだけで、Dockerfileのように、コンパイルされたコードをドッキングするのではなく、ソースコードをドッキングしました。

したがって、コンパイルが必要な言語でソースコードを実行している場合は、Dockerfileにビルドステップを含めることを忘れないでください。

  • Dockerfileでビルドステップを有効にすると、イメージをリポジトリにプッシュするたびにイメージサイズが大きくなることに注意してください。それはあそこのスペースを食べており、グーグルはあなたにそれを請求するつもりです。
1

もう1つの可能性は、Dockerイメージが完了するまでに時間がかかるコマンドで終了することです。デプロイの開始時にはサーバーはまだ実行されておらず、ヘルスチェックは空白になります。

それはどのようなコマンドですか?通常、サーバーを開発モードで実行するコマンド。 Scala/SBTの場合はsbt runまたはNode in npm run dev。つまり、パッケージ化されたビルドでのみ実行するようにしてください。

0
inmyth