A Dockerfile is a script that automatically creates containers on the Docker platform. A Dockerfile is basically a text document that contains all the commands a user could call on the command line to assemble an image. The Docker platform runs natively on Linux and allows developers to build and run containers, self-contained applications or systems with no dependencies on the underlying infrastructure. Built upon the resource-isolation features of the Linux kernel, Docker helps developers and system administrators port applications across different systems and machines by running them inside containers.
Docker containers, created by Dockerfiles, can run on any Linux server. Container environments for applications are created using Docker images, which can be built either by executing commands manually or automatically through Dockerfiles. Linux and Windows programs can run inside Docker containers. Using Dockerfiles, developers can create an automated container build that executes several command-line instructions in succession, step by step. Docker containerization is essentially operating-system-level virtualization. Multiple independent containers may run within a single Linux instance without the startup overhead of virtual machines.
Dockerfiles enable greater flexibility and portability of business applications. IT organizations use Dockerfiles to package applications and their dependencies in a virtual container that can run on premises, in public or private clouds, or on bare metal. Such containers allow multiple applications, worker tasks and other processes to run autonomously on a single physical machine or across multiple virtual machines. Kubernetes is an open source system for automatically managing and orchestrating containerized applications created by Dockerfiles.