instruction: Create a Dockerfile for Node.js with production best practices
output: ```dockerfile
  from the files
  in /run/secrets but does not expose them on the command line or save them
  in the shell history.Do this quickly and move on to the next step, because WordPress loses
  the ability to connect to MySQL.First, find the ID of the mysql container task.
  
  $ docker ps --filter name=mysql -q
  
  c7705cf6176f
  Substitute the ID in the command below, or use the second variant which
  uses shell expansion to do it all in a single step.
  
  $ docker container exec <CONTAINER_ID> \
   bash -c 'mysqladmin --user=wordpress --password="$(< /run/secrets/old_mysql_password)" password "$(< /run/secrets/mysql_password)"'
  Or:
  
  $ docker container exec $(docker ps --filter name=mysql -q) \
   bash -c 'mysqladmin --user=wordpress --password="$(< /run/secrets/old_mysql_password)" password "$(< /run/secrets/mysql_password)"'
  Update the wordpress service to use the new password, keeping the target
  path at /run/secrets/wp_db_password. This triggers a rolling restart of
  the WordPress service and the new secret is used.
  
  $ docker service update \
   --secret-rm mysql_password \
   --secret-add source=mysql_password_v2,target=wp_db_password \
   wordpress
  Verify that WordPress works by browsing to http://localhost:30000/ on any
  swarm node again. Use the WordPress username and password
  ```