

Thanks to that engine, a container can run uniformly on Linux, macOS, and Windows.Ĭontainers run as single processes on the Docker engine.Ĭontainers run in their own isolated processes in a given user space. Docker popularized the concept of containers when they introduced the Docker Engine, which lets containers run on any operating system. Containers are a way to isolate everything needed to run an application in its environment.

This was the beginning of process isolation.įast forward a few years, and you get the state of containers as they are today. The chroot command was introduced as part of the operating system, which changes the root directory of a process and its children. It finds its roots with the advent of the Unix operating system. The concept of containers dates back to the ’70s. Docker is a tool to run those containers.

Imagine a big zip file that would include everything needed to run your application on any operating system or hardware. A Docker container is a single unit containing an application and all of its necessary configurations or dependencies.
