From 36ade2bfd077a56b40cedee1d416b03a079d1ac4 Mon Sep 17 00:00:00 2001 From: Florent Date: Tue, 30 Jan 2024 16:00:59 +0100 Subject: [PATCH] Fix docker graceful shutdown (#830) * run.sh: Replace pid with nodejs's one using exec This notably ensures that "docker stop" sends a TERM signal to the node process which can handle it gracefully and avoid document corruption. * Use exec form for CMD in Dockerfile --------- Co-authored-by: Florent FAYOLLE --- Dockerfile | 2 +- sandbox/run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1b4002e2..c702e666 100644 --- a/Dockerfile +++ b/Dockerfile @@ -142,4 +142,4 @@ ENV \ EXPOSE 8484 -CMD ./sandbox/run.sh +CMD ["./sandbox/run.sh"] diff --git a/sandbox/run.sh b/sandbox/run.sh index 89e24e00..ce44b25f 100755 --- a/sandbox/run.sh +++ b/sandbox/run.sh @@ -16,4 +16,4 @@ if [[ "$GRIST_SANDBOX_FLAVOR" = "gvisor" ]]; then ./sandbox/gvisor/update_engine_checkpoint.sh fi -NODE_PATH=_build:_build/stubs:_build/ext node _build/stubs/app/server/server.js +exec env NODE_PATH=_build:_build/stubs:_build/ext node _build/stubs/app/server/server.js