Dictionary
Docker
Docker is a platform for developing, shipping, and running applications inside containers, which are lightweight, isolated environments that package an application with all its dependencies including libraries, runtime, and system tools. This ensures the application behaves identically on a developer laptop, in a CI/CD pipeline, and in production, eliminating the classic works-on-my-machine problem.
A Docker container is created from a Dockerfile, a text file that specifies a base image, installs dependencies, copies application code, and defines the startup command. Docker Compose extends this to multi-container applications, allowing developers to define and run an application alongside its database, cache, and message queue with a single command. Images are stored in registries like Docker Hub for sharing and deployment.
For web development, Docker is foundational because it standardizes development and deployment environments. New team members can start a project by running docker-compose up rather than following a lengthy setup guide. CI/CD pipelines build Docker images deployed identically to staging and production. Docker also enables microservices architectures where each service runs in its own container, scaled independently through orchestration platforms like Kubernetes.