A container is portable, lightweight, and a package of software that has everything needed to run an application. A container runs on the Docker Engine and shares the host operating system's kernel between other containers. A container is basically a running instance of a Docker image.