Docker creates packaged applications called containers. Each container provides an isolated environment similar to a virtual machine (VM). Unlike VMs, Docker containers don’t run a full operating system. They share your host’s kernel and virtualize at a software level.