While this does look promising from an academic standpoint, it is utterly not correct in the real world. In the real world, we need to deploy the result of npm run build. You are basically dockerizing the development version of the application. Not good. In real life, we do npm run build and the output is then served using an HTTP server such as NGINX.