instruction: Create a Dockerfile for Node.js with production best practices
output: ```dockerfile
  from the instance store.
  docker/buildx#1941Fix a regression with result handle builds showing up in the build history incorrectly.
  docker/buildx#19540.11.12023-07-05The full release notes for this release are available
  on GitHub.Bug fixes and enhancementsFix a regression for bake where services in profiles would not be loaded.
  docker/buildx#1903Fix a regression where --cgroup-parent option had no effect during build.
  docker/buildx#1913Fix a regression where valid docker contexts could fail buildx builder name
  validation. docker/buildx#1879Fix a possible panic when terminal is resized during the build.
  docker/buildx#19290.11.02023-06-13The full release notes for this release are available
  on GitHub.NewBake now supports
  matrix builds.
  The new matrix field on target lets you create multiple similar targets to
  remove duplication in bake files. docker/buildx#1690New experimental --detach flag for running builds in detached mode.
  docker/buildx#1296,
  docker/buildx#1620,
  docker/buildx#1614,
  docker/buildx#1737,
  docker/buildx#1755New experimental debug monitor mode
  that lets you start a debug session in your builds.
  docker/buildx#1626,
  docker/buildx#1640New EXPERIMENTAL_BUILDKIT_SOURCE_POLICY environment variable
  for applying a BuildKit source policy file.
  docker/buildx#1628Bug fixes and enhancements--load now supports loading multi-platform images when the containerd image
  store is enabled.
  docker/buildx#1813Build progress output now displays the name of the builder being used.
  docker/buildx#1177Bake now supports detecting compose.{yml,yaml} files.
  docker/buildx#1752Bake now supports new compose build keys dockerfile_inline and additional_contexts.
  docker/buildx#1784Bake now supports replace HCL function.
  docker/buildx#1720Bake now allows merging multiple similar attestation parameters into a single
  parameter to allow overriding with a single global value.
  docker/buildx#1699Initial support for shell completion.
  docker/buildx#1727BuildKit versions now correctly display in buildx ls and buildx inspect
  for builders using the docker driver.
  docker/buildx#1552Display additional builder node details in buildx inspect view.
  docker/buildx#1440,
  docker/buildx#1854Builders using the remote driver allow using TLS without proving its own
  key/cert (if BuildKit remote is configured to support it)
  docker/buildx#1693Builders using the kubernetes driver support a new serviceaccount option,
  which sets the serviceAccountName of the Kubernetes pod.
  docker/buildx#1597Builders using the kubernetes driver support the proxy-url option in the
  kubeconfig file.
  docker/buildx#1780Builders using the kubernetes are now automatically assigned a node name if
  no name is explicitly provided.
  docker/buildx#1673Fix invalid path when writing certificates for docker-container driver on Windows.
  docker/buildx#1831Fix bake failure when remote bake file is accessed using SSH.
  docker/buildx#1711,
  docker/buildx#1734Fix bake failure when remote bake context is incorrectly resolved.
  docker/buildx#1783Fix path resolution of BAKE_CMD_CONTEXT and cwd:// paths in bake contexts.
  docker/buildx#1840Fix mixed OCI and Docker media types when creating images using
  buildx imagetools create.
  docker/buildx#1797Fix mismatched image id between --iidfile and -q.
  docker/buildx#1844Fix AWS authentication when mixing static creds and IAM profiles.
  docker/buildx#18160.10.42023-03-06
  NoteBuildx v0.10 enables support for a minimal SLSA Provenance
  attestation, which requires support for OCI-compliant
  multi-platform images. This may introduce issues with registry and runtime support
  (e.g. Google Cloud Run and AWS Lambda).
  You can optionally disable the default provenance attestation functionality
  using --provenance=false.Bug fixes and enhancementsAdd BUILDX_NO_DEFAULT_ATTESTATIONS as alternative to --provenance false. docker/buildx#1645Disable dirty Git checkout detection by default for performance. Can be enabled with BUILDX_GIT_CHECK_DIRTY opt-in. docker/buildx#1650Strip credentials
  ```