instruction: Create a Dockerfile for Node.js with production best practices
output: ```dockerfile
  from the same underlying image.Try it outIn this hands-on guide, you will create new image layers manually using the docker container commit command. Note that youâll rarely create images this way, as youâll normally use a Dockerfile. But, it makes it easier to understand how itâs all working.Create a base imageIn this first step, you will create your own base image that you will then use for the following steps.Download and install Docker Desktop.In a terminal, run the following command to start a new container:
  
  $ docker run --name=base-container -ti ubuntu
  Once the image has been downloaded and the container has started, you should see a new shell prompt. This is running inside your container. It will look similar to the following (the container ID will vary):
  
  root@d8c5ca119fcd:/#
  Inside the container, run the following command to install Node.js:
  
  $ apt update && apt install -y nodejs
  When this command runs, it downloads and installs Node inside the container. In the context of the union filesystem, these filesystem changes occur within the directory unique to this container.Validate if Node is installed by running the following command:
  
  $ node -e 'console.log("Hello world!")'
  You should then see a âHello world!â appear in the console.Now that you have Node installed, youâre ready to save the changes youâve made as a new image layer,
  ```