--- title: Overview of the get started guide keywords: docker basics, how to start a docker container, container settings, setup docker, how to setup docker, setting up docker, docker container guide, how to get started with docker description: Get started with the Docker basics in this comprehensive overview, You'll learn about containers, images, and how to containerize your first application. redirect_from: - /engine/getstarted-voting-app/ - /engine/getstarted-voting-app/cleanup/ - /engine/getstarted-voting-app/create-swarm/ - /engine/getstarted-voting-app/customize-app/ - /engine/getstarted-voting-app/deploy-app/ - /engine/getstarted-voting-app/node-setup/ - /engine/getstarted-voting-app/test-drive/ - /engine/getstarted/ - /engine/getstarted/last_page/ - /engine/getstarted/step_five/ - /engine/getstarted/step_four/ - /engine/getstarted/step_one/ - /engine/getstarted/step_six/ - /engine/getstarted/step_three/ - /engine/getstarted/step_two/ - /engine/quickstart/ - /engine/tutorials/ - /engine/tutorials/dockerimages/ - /engine/tutorials/dockerizing/ - /engine/tutorials/usingdocker/ - /engine/userguide/containers/dockerimages/ - /engine/userguide/dockerimages/ - /engine/userguide/intro/ - /get-started/part1/ - /get-started/part5/ - /get-started/part6/ - /getstarted/ - /getting-started/ - /learn/ - /linux/last_page/ - /linux/started/ - /linux/step_four/ - /linux/step_one/ - /linux/step_six/ - /linux/step_three/ - /linux/step_two/ - /mac/last_page/ - /mac/started/ - /mac/step_four/ - /mac/step_one/ - /mac/step_six/ - /mac/step_three/ - /mac/step_two/ - /userguide/dockerimages/ - /userguide/dockerrepos/ - /windows/last_page/ - /windows/started/ - /windows/step_four/ - /windows/step_one/ - /windows/step_six/ - /windows/step_three/ - /windows/step_two/ --- This guide contains step-by-step instructions on how to get started with Docker. This guide shows you how to: - Build and run an image as a container. - Share images using Docker Hub. - Deploy Docker applications using multiple containers with a database. - Run applications using Docker Compose. ## What is a container? A container is a sandboxed process running on a host machine that is isolated from all other processes running on that host machine. That isolation leverages [kernel namespaces and cgroups](https://medium.com/@saschagrunert/demystifying-containers-part-i-kernel-space-2c53d6979504), features that have been in Linux for a long time. Docker makes these capabilities approachable and easy to use. To summarize, a container: - Is a runnable instance of an image. You can create, start, stop, move, or delete a container using the Docker API or CLI. - Can be run on local machines, virtual machines, or deployed to the cloud. - Is portable (and can be run on any OS). - Is isolated from other containers and runs its own software, binaries, configurations, etc. If you're familiar with `chroot`, then think of a container as an extended version of `chroot`. The filesystem comes from the image. However, a container adds additional isolation not available when using chroot. ## What is an image? A running container uses an isolated filesystem. This isolated filesystem is provided by an image, and the image must contain everything needed to run an application - all dependencies, configurations, scripts, binaries, etc. The image also contains other configurations for the container, such as environment variables, a default command to run, and other metadata. ## Next steps In this section, you learned about containers and images. Next, you'll containerize a simple application and get hands-on with the concepts. [Containerize an application](02_our_app.md){: .button .primary-btn}