instruction: Create a Dockerfile for Node.js with production best practices
output: ```dockerfile
  from the terminal.Fixed a bug where the default settings values were being reset to default on startup, when using Settings Management.Fixed a bug with the dashboard being shown at startup even though the Open Docker Dashboard when Docker Desktop starts option was disabled. Fixes docker/for-win#13887.Fixed a bug in the build backend service that caused Docker Desktop to crash. Fixes docker/for-win#13885, docker/for-win#13896, docker/for-win#13899, docker/for-mac#7164, docker/for-mac#7169.Fixed the Docker Engine socket permissions when mounted inside containers. Fixes docker/for-win#13898.Docker Scout:Updated dependencies to address Leaky Vessels series of CVEs (CVE-2024-21626, CVE-2024-24557)Added initial VEX document to document false positive CVE-2020-8911 and CVE-2020-8912Added support for cosign SBOM attestationsAdded support for VEX in-toto attestationsDocker Debug:Fixed a bug when pulling the image behind resource accesses managementFixed connection issuesFor MacRe-added kernel modules needed by Istio. Fixes docker/for-mac#7148.Node now uses all the cores available under Rosetta.Fixed an issue with php-fpm. Fixes docker/for-mac#7037.4.27.12024-02-01UpgradesDocker Engine v25.0.2 which contains a fix for CVE-2024-24557, CVE-2024-23650, CVE-2024-23651, CVE-2024-23652 and CVE-2024-23653Containerd v1.6.28Runc v1.1.12 which contains a fix for CVE-2024-21626Bug fixes and enhancementsFor MacFixed a bug that caused Docker Desktop to hang when applying an update.4.27.02024-01-25NewDocker init now supports Java and is generally available to all users.Synchronized File Shares provides fast and flexible host-to-VM file sharing within Docker Desktop. Utilizing the technology behind Dockerâs acquisition of Mutagen, this feature provides an alternative to virtual bind mounts that uses synchronized filesystem caches, improving performance for developers working with large codebases.Organization admins can now
  configure Docker socket mount permissions when ECI is enabled.Containerd Image Store support is now generally available to all users.Get a debug shell into any container or image with the new
  docker debug command (Beta).Organization admins, with a Docker Business subscription, can now configure a custom list of extensions with
  Private Extensions Marketplace enabled (Beta)UpgradesAmazon ECR Credential Helper v0.7.1Buildx v0.12.1Containerd v1.6.27Compose v2.24.3Docker Credential Helpers v0.8.1Runc v1.1.11Docker Engine v25.0.0Kubernetes v1.29.1Docker Scout v1.3.0Bug fixes and enhancementsFor all platformsThe docker scan command has been removed. To continue learning about the vulnerabilities of your images, and many other features, use the
  docker scout command.Fixed a bug where automatic updates would not download when the Always download updates checkbox was selected.Fixed typo in the dashboard tooltip. Fixes docker/for-mac#7132Improved signal handling behavior (e.g. when pressing Ctrl-C in the terminal while running a docker command).Re-added kernel modules required by minikube start --cni=cilium.Fixed a bug that caused the installation screen to appear again when admin controls are enabled after sign in.Fixed a bug where Docker would not start if a shared folder is no longer present.Fixed the number of available CPUs displayed in the Containers section of the Dashboard.Re-added kernel modules for btrfs, xfs, vfat, exfat, ntfs3, f2fs, squashfs, udf, 9p and autofs.Container usage charts have been moved to a vertical Resource usage side panel to allow for more space in the containers list. Accessing the usage charts remains the same via the Show charts button.Fixed a bug where selecting Close Application at sign-in was leaving behind a hung backend process.Fixed a bug which caused Docker Desktop to become unresponsive when analytics is disabled through Settings Management.Docker init:Added support for containerizing a Java serverVarious fixes on WindowsBuilder settings:You can now refresh storage data for your builder at any point in time.You can now delete the build history for a builder.Builds view:An error message is now shown when a build record cannot be removed.Fixed an issue where a cloud builder could not be created in rootless mode on macOS.Inline cache and Git source are now properly handled in the Build timing section of the Info tab.The Builder used and the author invoking the build is now displayed in past builds on the History tab.Several improvements made to better link past builds on the History tab.Several improvements to make the build name more accurate.Fixed stuck builds in the Active builds list when a builder cannot be reached.Fixed an issue preventing the build record
  ```