instruction: Create a Dockerfile for Node.js with production best practices
output: ```dockerfile
  from a
  builder. The builder needs to be specified with --name and node that is removed
  is set with --node.
  
  $ docker buildx create --name mybuilder --node mybuilder0 --leave
  Specify the name of the builder (--name)
  
  --name NAMEThe --name flag specifies the name of the builder to be created or modified.
  If none is specified, one will be automatically generated.Specify the name of the node (--node)
  
  --node NODEThe --node flag specifies the name of the node to be created or modified. If
  you don't specify a name, the node name defaults to the name of the builder it
  belongs to, with an index number suffix.Set the platforms supported by the node (--platform)
  
  --platform PLATFORMSThe --platform flag sets the platforms supported by the node. It expects a
  comma-separated list of platforms of the form OS/architecture/variant. The node
  will also automatically detect the platforms it supports, but manual values take
  priority over the detected ones and can be used when multiple nodes support
  building for the same platform.
  
  $ docker buildx create --platform linux/amd64
  $ docker buildx create --platform linux/arm64,linux/arm/v7
  Automatically switch to the newly created builder (--use)The --use flag automatically switches the current builder to the newly created
  one. Equivalent to running docker buildx use $(docker buildx create ...).Table of contentsDescriptionOptionsExamplesAppend a new node to an existing builder (--append)Specify a configuration file for the BuildKit daemon (--buildkitd-config)Specify options for the BuildKit daemon (--buildkitd-flags)BuildKit daemon network modeSet the builder driver to use (--driver)docker driverdocker-container driverkubernetes driverremote driverSet additional driver-specific options (--driver-opt)Remove a node
  ```