instruction: Create a Dockerfile for fundamentals
output: ```dockerfile
  from daemon: invalid mount config for type "bind": bind source path does not exist: /dev/noexist.
  Options for --mountThe --mount flag consists of multiple key-value pairs, separated by commas
  and each consisting of a <key>=<value> tuple. The order of the keys isn't
  significant.
  
  $ docker run --mount type=bind,src=<host-path>,dst=<container-path>[,<key>=<value>...]
  Valid options for --mount type=bind include:OptionDescriptionsource, srcThe location of the file or directory on the host. This can be an absolute or relative path.destination, dst, targetThe path where the file or directory is mounted in the container. Must be an absolute path.readonly, roIf present, causes the bind mount to be mounted into the container as read-only.bind-propagationIf present, changes the bind propagation.Example
  
  $ docker run --mount type=bind,src=.,dst=/project,ro,bind-propagation=rshared
  Options for --volumeThe --volume or -v flag consists of three fields, separated by colon
  characters (:). The fields must be in the correct order.
  
  $ docker run -v <host-path>:<container-path>[:opts]
  The first field is the path on the host to bind mount into the container. The
  second field is the path where the file or directory is mounted in the
  container.The third field is optional, and is a comma-separated list of options. Valid
  options for --volume with a bind mount include:OptionDescriptionreadonly, roIf present, causes the bind mount to be mounted into the container as read-only.z, ZConfigures SELinux labeling. See Configure the SELinux labelrprivate (default)Sets bind propagation to rprivate for this mount. See Configure bind propagation.privateSets bind propagation to private for this mount. See Configure bind propagation.rsharedSets bind propagation to rshared for this mount. See Configure bind propagation.sharedSets bind propagation to shared for this mount. See Configure bind propagation.rslaveSets bind propagation to rslave for this mount. See Configure bind propagation.slaveSets bind propagation to slave for this mount. See Configure bind propagation.Example
  
  $ docker run -v .:/project:ro,rshared
  Start a container with a bind mountConsider a case where you have a directory source and that when you build the
  source code, the artifacts are saved into another directory, source/target/.
  You want the artifacts to be available to the container at /app/, and you
  want the container to get access to a new build each time you build the source
  on your development host. Use the following command to bind-mount the target/
  directory into your container at /app/. Run the command
  ```