instruction: Create a Dockerfile for fundamentals
output: ```dockerfile
  from the local build context into the root directory of our image.
  
  COPY hello.py /A build context is the set of files that you can access
  in Dockerfile instructions such as COPY and ADD.After the COPY instruction, the hello.py file is added to the filesystem
  of the build container.Setting environment variablesIf your application uses environment variables, you can set environment variables
  in your Docker build using the
  ENV instruction.
  
  ENV FLASK_APP=helloThis sets a Linux environment variable we'll need later. Flask, the framework
  used in this example, uses this variable to start the application. Without this,
  flask wouldn't know where to find our application to be able to run it.Exposed portsThe
  EXPOSE instruction marks that
  our final image has a service listening on port 8000.
  
  EXPOSE 8000This instruction isn't required, but it is a good practice and helps tools and
  team members understand what this application is doing.Starting the applicationFinally,
  CMD instruction sets the
  command that is run when the user starts a container based on this image.
  
  CMD ["flask", "run", "--host", "0.0.0.0", "--port", "8000"]This command starts the flask development server listening on all addresses
  on port 8000. The example here uses the "exec form" version of CMD.
  It's also possible to use the "shell form":
  
  CMD flask run --host 0.0.0.0 --port 8000There are subtle differences between these two versions,
  for example in how they trap signals like SIGTERM and SIGKILL.
  For more information about these differences, see
  Shell and exec formBuildingTo build a container image using the Dockerfile example
  ```