instruction: Create a Dockerfile for fundamentals
output: ```dockerfile
  from the thin pool into a container's writable layer.
  Each block is 64KB, so this is the minimum amount of space that is used
  for a write.Copy-on-write performance impact: The first time a container modifies a
  specific block, that block is written to the container's writable layer.
  Because these writes happen at the level of the block rather than the file,
  performance impact is minimized. However, writing a large number of blocks can
  still negatively impact performance, and the devicemapper storage driver may
  actually perform worse than other storage drivers in this scenario. For
  write-heavy workloads, you should use data volumes, which bypass the storage
  driver completely.Performance best practicesKeep these things in mind to maximize performance when using the devicemapper
  storage driver.Use direct-lvm: The loop-lvm mode is not performant and should never
  be used in production.Use fast storage: Solid-state drives (SSDs) provide faster reads and
  writes than spinning disks.Memory usage: the devicemapper uses more memory than some other storage
  drivers. Each launched container loads one or more copies of its files into
  memory, depending on how many blocks of the same file are being modified at
  the same time. Due to the memory pressure, the devicemapper storage driver
  may not be the right choice for certain workloads in high-density use cases.Use volumes for write-heavy workloads: Volumes provide the best and most
  predictable performance for write-heavy workloads. This is because they bypass
  the storage driver and do not incur any of the potential overheads introduced
  by thin provisioning and copy-on-write. Volumes have other benefits, such as
  allowing you to share data among containers and persisting even when no
  running container is using them.
  NoteWhen using devicemapper and the json-file log driver, the log files generated by a container are still stored in Docker's dataroot directory, by default /var/lib/docker. If your containers generate lots of log messages, this may lead to increased disk usage or the inability to manage your system due to a full disk. You can configure a
  log driver to store your container logs externally.Related InformationVolumesUnderstand images, containers, and storage driversSelect a storage driver
  Request changesTable of contentsPrerequisitesConfigure Docker with the devicemapper storage driverConfigure loop-lvm mode for testingConfigure direct-lvm mode for productionManage devicemapperMonitor the thin poolIncrease capacity on a running deviceActivate the devicemapper after rebootHow the devicemapper storage driver worksImage and container layers on-diskImage layering and sharingHow container reads and writes work with devicemapperReading filesWriting filesDevice Mapper and Docker performancePerformance best practicesRelated Information
  
  Product offerings
  Pricing
  About us
  Contribute
  Read llms.txt
  Cookies Settings
  
  Status
  Legal```