Docker

Docker is an open-source containerization platform created by Docker, Inc. (formerly dotCloud) and maintained by the Docker community and Mirantis. It packages applications and dependencies into portable containers that run consistently across environments, unlike virtual machines that require full OS instances. Companies like Netflix, Spotify, and PayPal use Docker for microservices, CI/CD pipelines, and cloud migration workloads. A key technical detail is its use of union filesystems (e.g., OverlayFS) to layer images efficiently, allowing incremental updates and smaller deployments.

Also known as: containers, containerization
🧊Why learn Docker?

Use Docker when you need lightweight, reproducible environments for development, testing, or deploying microservices across cloud providers; it excels in DevOps workflows where consistency from laptop to production is critical. Avoid Docker for applications requiring strict kernel-level isolation or low-latency real-time systems, as containers share the host OS kernel and can introduce overhead. The community acknowledges weaknesses in persistent storage management, which often requires additional orchestration tools like Kubernetes for stateful workloads.

See how it ranks →

Compare Docker

Related Tools

Alternatives to Docker

Other Containers & Infrastructure

View all →
.env
.env is a file format and tool used to store environment variables, which are key-value pairs that configure application settings like API keys, database URLs, and other sensitive or environment-specific data. It allows developers to separate configuration from code, making applications more secure and portable across different environments (e.g., development, testing, production). Tools like dotenv in Node.js or python-dotenv in Python parse .env files to load these variables into the application's environment at runtime.
.htaccess
.htaccess (Hypertext Access) is a configuration file used on Apache web servers to control directory-level settings, such as URL redirection, access control, and performance optimizations. It allows developers to override global server configurations for specific directories without modifying the main server configuration files. This file is commonly used for tasks like password protection, custom error pages, and enabling features like mod_rewrite for URL manipulation.
.htaccess
.htaccess (Hypertext Access) is a configuration file used on Apache web servers to control directory-level settings, such as URL redirection, access control, and performance optimizations. It allows developers to override global server configurations for specific directories without modifying the main server configuration files. This file is commonly used for tasks like enabling HTTPS, blocking IP addresses, or setting custom error pages.
.htaccess Redirect
.htaccess redirect is a server-side configuration technique using the .htaccess file on Apache web servers to manage URL redirections, such as redirecting old URLs to new ones, enforcing HTTPS, or handling errors like 404 pages. It operates through directives like Redirect, RedirectMatch, and RewriteRule, allowing developers to control traffic flow without modifying server-wide settings. This method is essential for SEO, user experience, and maintaining link integrity during website migrations or updates.
.NET Interactive
.NET Interactive is an open-source tool that enables interactive programming experiences across multiple languages (C#, F#, PowerShell, SQL, HTML, JavaScript) within notebooks like Jupyter, Visual Studio Code, and Azure Data Studio. It allows developers to create and share executable documents that combine code, visualizations, and narrative text, facilitating data exploration, documentation, and teaching. The tool integrates with the .NET ecosystem, providing rich output capabilities and extensions for data science and machine learning workflows.
.NET Profiling Tools
.NET profiling tools are software utilities used to analyze the performance, memory usage, and behavior of .NET applications during execution. They help developers identify bottlenecks, memory leaks, and inefficiencies by collecting data on CPU usage, garbage collection, thread activity, and method execution times. These tools are essential for optimizing .NET applications to ensure they run efficiently and reliably in production environments.