instruction: Create a Dockerfile for fundamentals
output: ```dockerfile
  from everything else on your machine.Here's what makes them awesome. Containers are:Self-contained. Each container has everything it needs to function with no reliance on any pre-installed dependencies on the host machine.Isolated. Since containers are run in isolation, they have minimal influence on the host and other containers, increasing the security of your applications.Independent. Each container is independently managed. Deleting one container won't affect any others.Portable. Containers can run anywhere! The container that runs on your development machine will work the same way in a data center or anywhere in the cloud!Containers versus virtual machines (VMs)Without getting too deep, a VM is an entire operating system with its own kernel, hardware drivers, programs, and applications. Spinning up a VM only to isolate a single application is a lot of overhead.A container is simply an isolated process with all of the files it needs to run. If you run multiple containers, they all share the same kernel, allowing you to run more applications on less infrastructure.Using VMs and containers togetherQuite often, you will see containers and VMs used together. As an example, in a cloud environment, the provisioned machines are typically VMs. However, instead of provisioning one machine to run one application, a VM with a container runtime can run multiple containerized applications, increasing resource utilization and reducing costs.Try it outIn this hands-on, you will see how to run a Docker container using the Docker Desktop GUI.
  Using the GUI
  
  Using the CLIUse the following instructions to run a container.Open Docker Desktop and select the Search field on the top navigation bar.Specify welcome-to-docker in the search input and then select the Pull button.
  Once the image is successfully pulled, select the Run button.Expand the Optional settings.In the Container name, specify welcome-to-docker.In the Host port, specify 8080.
  Select Run to start your container.Congratulations! You just ran your first container! ðView your containerYou can view all of your containers by going to the Containers view of the Docker Desktop Dashboard.
  This container runs a web server that displays a simple website. When working with more complex projects, you'll run different parts in different containers. For example, you might run a different container for the frontend, backend, and database.Access the frontendWhen you launched the container, you exposed one of the container's ports onto your machine. Think of this as creating configuration to let you to connect through the isolated environment of the container.For this container, the frontend is accessible on port 8080. To open the website, select the link in the Port(s) column of your container or visit http://localhost:8080 in your browser.<img loading=lazy src=https://docs.docker.com/get-started/docker-concepts/the-basics/images/access-the-frontend.webp alt="Screenshot of the landing page coming
  ```