LostVoyager-0056, Apologies for the delay from over the weekend.
Thanks for sharing great details about your scenario and things you have tried already.
Kindly try the suggestion by lextm to change the binding. As code is listening on localhost, then it will not be accessible outside that specific container, hence, the app will fail to start. To get past this, make the app code listen on 0.0.0.0
As I understand you’re hardcoding the port. Just to isolate, try with port 8080.
If you haven't done, change this to use process.env.PORT.
const port = process.env.port || 8080;
Just to confirm, you mentioned that you used WEBSITES_CONTAINER_START_LIMIT vs WEBSITES_CONTAINER_START_TIME_LIMIT? -Yes, by default, if your container does not respond after 230 seconds, it will time out. (try with this - WEBSITES_CONTAINER_START_TIME_LIMIT app setting, set to 1800
.