instruction: Create a Dockerfile for fundamentals
output: ```dockerfile
  FROM microsoft/nanoserver
   ---> 22738ff49c6d
  Step 2/3 : COPY testfile.txt c:\
   ---> 96655de338de
  Removing intermediate container 4db9acbb1682
  Step 3/3 : RUN dir c:\
   ---> Running in a2c157f842f5
   Volume in drive C has no label.
   Volume Serial Number is 7E6D-E0F7
  
   Directory of c:\
  
  10/05/2016 05:04 PM 1,894 License.txt
  10/05/2016 02:22 PM <DIR> Program Files
  10/05/2016 02:14 PM <DIR> Program Files (x86)
  10/28/2016 11:18 AM 62 testfile.txt
  10/28/2016 11:20 AM <DIR> Users
  10/28/2016 11:20 AM <DIR> Windows
   2 File(s) 1,956 bytes
   4 Dir(s) 21,259,096,064 bytes free
   ---> 01c7f3bef04f
  Removing intermediate container a2c157f842f5
  Successfully built 01c7f3bef04f
  PS E:\myproject>
  check
  
  # check=skip=<checks|all>
  # check=error=<boolean>The check directive is used to configure how build checks
  are evaluated. By default, all checks are run, and failures are treated as
  warnings.You can disable specific checks using #check=skip=<check-name>. To specify
  multiple checks to skip, separate them with a comma:
  
  # check=skip=JSONArgsRecommended,StageNameCasingTo disable all checks, use #check=skip=all.By default, builds with failing build checks exit with a zero status code
  despite warnings. To make the build fail on warnings, set #check=error=true.
  
  # check=error=true
  NoteWhen using the check directive, with error=true option, it is recommended
  to pin the Dockerfile syntax to a specific version. Otherwise, your build may
  start to fail when new checks are added in the future versions.To combine both the skip and error options, use a semi-colon to separate
  them:
  
  # check=skip=JSONArgsRecommended;error=trueTo see all available checks, see the build checks reference.
  Note that the checks available depend on the Dockerfile syntax version. To make
  sure you're getting the most up-to-date checks, use the syntax
  directive to specify the Dockerfile syntax version to the latest stable
  version.Environment replacementEnvironment variables (declared with the ENV statement) can also be
  used in certain instructions as variables to be interpreted by the
  Dockerfile. Escapes are also handled for including variable-like syntax
  into a statement literally.Environment variables are notated in the Dockerfile either with
  $variable_name or ${variable_name}. They are treated equivalently and the
  brace syntax is typically used to address issues with variable names with no
  whitespace, like ${foo}_bar.The ${variable_name} syntax also supports a few of the standard bash
  modifiers as specified below:${variable:-word} indicates that if variable is set then the result
  will be that value. If variable is not set then word will be the result.${variable:+word} indicates that if variable is set then word will be
  the result, otherwise the result is the empty string.The following variable replacements are supported in a pre-release version of
  Dockerfile syntax, when using the # syntax=docker/dockerfile-upstream:master syntax
  directive in your Dockerfile:${variable#pattern} removes the shortest match of pattern
  ```