shutdown完了後にはprocess.exit(0)しましょうまとめ追記こんばんは、最近全然コード書く機会がなくて久しぶりにコード書けたのでテンション上がってブログにしますNode.js/ExpressをDockerイメージにした時にハマったことがいくつかあるので残しておきます。"start"]みたいに定義した上でコンテナ起動時にSIGINT(macでいうctr+c)を送っても一向に終了されません。調べるとこちらで取り上げられている現象とドンピシャでした。overflowの感じからすると、alpineイメージにはbashが存在していないのが原因のようです。僕はalpineをやめました。最近はdistrolessの方が安定しててサイズも小さいと聞いて試したかったんですけど、難しいですね😂npmやyarnもSIGINTを握りつぶすので、CMDにはnpmやyarnのスクリプトを指定せずにスクリプトの中身を直接記載しましょうここまでできてSIGINTを送ってもまだ無視されます。以下の内容見るとyarnがSIGINTを握りつぶしてそうです😇https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#cmdnodeを直にCMDに指定すれば解決するんですが、その時はts-nodeを使っていたので以下のように変更しました。shotdownが2回表示されてしまう。startでSIGINTが2回呼び出される)があるみたいですが、ts-nodeの場合でも同様かもしれないですね。shutdown完了後にはprocess.exit(0)しましょうsetTimeout()やsetInterval()が残っていると、server.close()が完了してもプロセスがが正常終了しないようなので、明示的にprocess.exit(0)をしないといけないようでした。alsoブラウザでキャッシュできてアクセス制限できるAWSでの静的ファイルの配信について考えてみたAWSとPR-Agentを組み合わせてPRのコードレビュー自動化を試してみた。