A Docker Container is an environment that contains an application, or multiple applications, and all the libraries, other applications and tooling they need to run.

The application is encapsulated with its dependencies in a container.

You can take a Docker Image and create a container from it on a newly bought machine with Docker installed, and your application will work without additional work or dependencies.

Containers are fully isolated from the computer they run on, called host machine, and you have ways to let them communicate with it, and share resources.

The goal is not to completely isolate an environment, like it would happen with a virtual machine, but instead the goal is to make an application as portable as possible.

Applications running in a Docker container are very fast, and you can run many containers at once.

When talking about Docker Images, I mentioned Docker Images are built. Docker Containers are run, using docker run.