> For the complete documentation index, see [llms.txt](https://docs.projectreclass.org/infrastructure/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.projectreclass.org/infrastructure/docker-basics/intro-to-docker.md).

# Intro to Docker

What is docker? For that matter what is a container? Find out here.

## What is Docker?

Docker is a container runtime, ultimately run on containerd. Docker is a packaged and more user friendly version with a graphical interface as well as a command line interface suite. Although it has many challengers and potential usurpers, docker remains the go-to tool for containers.&#x20;

## What is a container?&#x20;

An oversimplification is that a container can be thought of as a much smaller VM. In general VM's require virtualization at the hardware level, hosts an entire OS complete with it's own kernel. A container on the other hand can share resources with it's hosts, leverages user-space a bit better, and can often run only what is necessary for the application. Ultimately, a container is more portable, and consistent than a VM and helps to eliminate the "it worked on my machine" issue.&#x20;

## How do I learn to use Docker containers?

First you'll need to [install docker](https://www.docker.com/get-started) to ensure docker has installed properly you can run your first container with.&#x20;

```
docker run -d -p 80:80 docker/getting-started
```

This will take you through the official guide for docker, and truthfully it's a great tool! It should be accessible via [localhost](http://127.0.0.1) in your browser.&#x20;

{% content-ref url="/pages/-MbONVpDZ0uM\_5H5XQen" %}
[What is a command?](/infrastructure/linux-basics/what-is-a-command.md)
{% endcontent-ref %}
