Docker is an open-source platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker's methodologies for shipping, testing, and deploying code, you can significantly reduce the delay between writing code and running it in production.
It automates the deployment, scaling, and management of applications by containerizing them, ref. [[Containerize]]. A Docker container packages an application with everything it needs to run, ensuring it will run the same regardless of the environment. Docker is fundamentally about creating and managing individual containers.
Docker is a required skill for almost every developer.