instruction: Create a Dockerfile for fundamentals
output: ```dockerfile
  from the build contextAny relative or local path that doesn't begin with a http://, https://, or
  git@ protocol prefix is considered a local file path. The local file path is
  relative to the build context. For example, if the build context is the current
  directory, ADD file.txt / adds the file at ./file.txt to the root of the
  filesystem in the build container.Specifying a source path with a leading slash or one that navigates outside the
  build context, such as ADD ../something /something, automatically removes any
  parent directory navigation (../). Trailing slashes in the source path are
  also disregarded, making ADD something/ /something equivalent to ADD something /something.If the source is a directory, the contents of the directory are copied,
  including filesystem metadata. The directory itself isn't copied, only its
  contents. If it contains subdirectories, these are also copied, and merged with
  any existing directories at the destination. Any conflicts are resolved in
  favor of the content being added, on a file-by-file basis, except if you're
  trying to copy a directory onto an existing file, in which case an error is
  raised.If the source is a file, the file and its metadata are copied to the
  destination. File permissions are preserved. If the source is a file and a
  directory with the same name exists at the destination, an error is raised.If you pass a Dockerfile through stdin to the build (docker build - < Dockerfile), there is no build context. In this case, you can only use the
  ADD instruction to copy remote files. You can also pass a tar archive through
  stdin: (docker build - < archive.tar), the Dockerfile at the root of the
  archive and the rest of the archive will be used as the context of the build.Pattern matchingFor local files, each <src> may contain wildcards and matching will be done
  using Go's filepath.Match rules.For example, to add all files and directories in the root of the build context
  ending with .png:
  
  ADD *.png /dest/In the following example, ? is a single-character wildcard, matching e.g.
  index.js and index.ts.
  
  ADD index.?s /dest/When adding files or directories that contain special characters (such as [
  and ]), you need to escape those paths following the Golang rules to prevent
  them
  ```