instruction: Create a Dockerfile for Node.js with production best practices
output: ```dockerfile
  from builder instead of changing it--nameBuilder instance name--nodeCreate/modify node with given name--platformFixed platforms for current node--useSet the current builder instanceExamplesAppend a new node to an existing builder (--append)The --append flag changes the action of the command to append a new node to an
  existing builder specified by --name. Buildx will choose an appropriate node
  for a build based on the platforms it supports.
  
  $ docker buildx create mycontext1
  eager_beaver
  
  $ docker buildx create --name eager_beaver --append mycontext2
  eager_beaver
  Specify a configuration file for the BuildKit daemon (--buildkitd-config)
  
  --buildkitd-config FILESpecifies the configuration file for the BuildKit daemon to use. The
  configuration can be overridden by --buildkitd-flags.
  See an example BuildKit daemon configuration file.If you don't specify a configuration file, Buildx looks for one by default in:$BUILDX_CONFIG/buildkitd.default.toml$DOCKER_CONFIG/buildx/buildkitd.default.toml~/.docker/buildx/buildkitd.default.tomlNote that if you create a docker-container builder and have specified
  certificates for registries in the buildkitd.toml configuration, the files
  will be copied into the container under /etc/buildkit/certs and configuration
  will be updated to reflect that.Specify options for the BuildKit daemon (--buildkitd-flags)
  
  --buildkitd-flags FLAGSAdds flags when starting the BuildKit daemon. They take precedence over the
  configuration file specified by --buildkitd-config. See
  buildkitd --help for the available flags.
  
  --buildkitd-flags '--debug --debugaddr 0.0.0.0:6666'BuildKit daemon network modeYou can specify the network mode for the BuildKit daemon with either the
  configuration file specified by --buildkitd-config using the
  worker.oci.networkMode option or --oci-worker-net flag here. The default
  value is auto and can be one of bridge, cni, host:
  
  --buildkitd-flags '--oci-worker-net bridge'
  NoteNetwork mode "bridge" is supported since BuildKit v0.13 and will become the
  default in next v0.14.Set the builder driver to use (--driver)
  
  --driver DRIVERSets the builder driver to be used. A driver is a configuration of a BuildKit
  backend. Buildx supports the following drivers:docker (default)docker-containerkubernetesremoteFor more information about build drivers, see
  here.docker driverUses the builder that is built into the Docker daemon. With this driver,
  the
  --load flag is implied by default on
  buildx build. However, building multi-platform images or exporting cache is
  not currently supported.docker-container driverUses a BuildKit container that will be spawned via Docker. With this driver,
  both building multi-platform images and exporting cache are supported.Unlike docker driver, built images will not automatically appear in
  docker images and
  build --load needs to be used
  to achieve that.kubernetes driverUses Kubernetes pods. With this driver, you can spin up pods with defined
  BuildKit container image to build your images.Unlike docker driver, built images will not automatically appear in
  docker images and
  build --load needs to be used
  to achieve that.remote driverUses a remote instance of BuildKit daemon over an arbitrary connection. With
  this driver, you manually create and manage instances of buildkit yourself, and
  configure buildx to point at it.Unlike docker driver, built images will not automatically appear in
  docker images and
  build --load needs to be used
  to achieve that.Set additional driver-specific options (--driver-opt)
  
  --driver-opt OPTIONSPasses additional driver-specific options.
  For information about available driver options, refer to the detailed
  documentation for the specific driver:docker driverdocker-container driverkubernetes driverremote driverRemove a node
  ```