instruction: Create a Dockerfile for Node.js with production best practices
output: ```dockerfile
  from local ephemeral storage.
  
  Note: To make the resource quota work on ephemeral-storage, two things need to be done:
  
  An admin sets the resource quota for ephemeral-storage in a namespace.
  A user needs to specify limits for the ephemeral-storage resource in the Pod spec.
  
  If the user doesn't specify the ephemeral-storage resource limit in the Pod spec,
  the resource quota is not enforced on ephemeral-storage.
  
  Kubernetes lets you track, reserve and limit the amount
  of ephemeral local storage a Pod can consume.
  Configurations for local ephemeral storage
  Kubernetes supports two ways to configure local ephemeral storage on a node:
  Single filesystem
  Two filesystems
  
  In this configuration, you place all different kinds of ephemeral local data
  (emptyDir volumes, writeable layers, container images, logs) into one filesystem.
  The most effective way to configure the kubelet means dedicating this filesystem
  to Kubernetes (kubelet) data.
  The kubelet also writes
  node-level container logs
  and treats these similarly to ephemeral local storage.
  The kubelet writes logs to files inside its configured log directory (/var/log
  by default); and has a base directory for other locally stored data
  (/var/lib/kubelet by default).
  Typically, both /var/lib/kubelet and /var/log are on the system root filesystem,
  and the kubelet is designed with that layout in mind.
  Your node can have as many other filesystems, not used for Kubernetes,
  as you like.
  
  You have a filesystem on the node that you're using for ephemeral data that
  comes
  ```