Overview

Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux, Windows Server, and Linux-on-mainframe apps.

What is a Container?

Containers are a way to package software in a format that can run isolated on a shared operating system. Unlike VMs, containers do not bundle a full operating system - only libraries and settings required to make the software work are needed. This makes for efficient, lightweight, self-contained systems and guarantees that software will always run the same, regardless of where it’s deployed.

Learn More About Containers

Docker For Developers

Docker automates the repetitive tasks of setting up and configuring development environments so that developers can focus on what matters: building great software.

docker for developers

Developers using Docker don’t have to install and configure complex databases nor worry about switching between incompatible language toolchain versions. When an app is dockerized, that complexity is pushed into containers that are easily built, shared and run. Onboarding a co-worker to a new codebase no longer means hours spent installing software and explaining setup procedures. Code that ships with Dockerfiles is simpler to work on: Dependencies are pulled as neatly packaged Docker images and anyone with Docker and an editor installed can build and debug the app in minutes.

Get Docker for Developers
  • Any App, Language, or Stack

    Any App, Language, or Stack

    Build, test, debug and deploy Linux and Windows Server container apps written in any programming language without risk of incompatibilities or version conflicts.

  • Awesome Developer Experience

    Awesome Developer Experience

    Reduce onboarding time by 65%: Quickly build, test and run complex multi-container apps and stop wasting time installing and maintaining software on servers and developer machines. All dependencies run in containers, eliminating “works on my machine” problems.

  • Built-in container orchestration

    Built-in container orchestration

    Docker comes with built-in swarm clustering that’s easy to configure. Test and debug apps in environments that mimic production with minimal setup.

Docker for Ops

Docker streamlines software delivery. Develop and deploy bug fixes and new features without roadblocks. Scale applications in real time.

Docker is the secret weapon of developers and IT ops teams everywhere, allowing them to build, ship, test, and deploy apps automatically, securely, and portably with no surprises. No more wikis, READMEs, long runbook documents and post-it notes with stale information. Teams using Docker know that their images work the same in development, staging, and production. New features and fixes get to customers quickly without hassle, surprises, or downtime.

Get Docker for Sys Admins
  • Ship 13x More

    Ship 13x More

    Docker users ship software on average 13 times more frequently. Teams using Docker push software updates quickly and get fixes and new features to customers faster.

  • Quickly Scale

    Quickly Scale

    Built in orchestration scales to thousands of nodes and containers. Docker containers spin up and down in seconds, making it easy to scale application services to satisfy peak customer demand, and back down when demand ebbs.

  • Improve IT Efficiency

    Improve IT Efficiency

    Save up to 10X in personnel hours in app maintenance and support. Docker makes it easy to deploy, identify, and resolve issues and reduce overall IT operational costs. Reduce downtime when deploying updates or quickly roll back with minimal disruption.

  • Distribute & Share Content

    Distribute & Share Content

    Build, manage, and distribute Docker images in secure Docker Registries located on-premises or in the cloud. Image updates, configuration changes, and build history are automatically synchronized across the organization.

  • Simply Share Applications

    Simply Share Applications

    Docker guarantees that apps will work the same everywhere. With Docker images, the entire stack and configuration is part of the image, and there’s no need to configure host environments other than installing Docker.

  • Guarantee App Security

    Guarantee App Security

    Securely collaborate on apps with authorized users and protect code as it moves to production. Docker Content Trust and built-in security ensures that the right code is available to the right people at the right time.

For the Enterprise

Docker is a Containers-as-a-Service platform for the enterprise that manages and secures diverse applications across disparate infrastructure, both on-premises and in the cloud. Docker EE fuels innovation by bringing traditional applications and microservices built on Windows, Linux or Linux-on-mainframe into a single, secure software supply chain. With Docker, organizations can modernize applications, infrastructure and operational models by bringing forward existing IT investments while integrating new technology at the rate of business.

Test Drive Docker EE Learn More
  • One Platform For All Apps

    One Platform For All Apps

    Docker provides a unified framework for all apps - monolith or microservices, Linux or Windows, x86 or mainframe, on-premises or cloud - a standard container and workflow for secure, agile and portable apps.

  • Innovate Faster at Scale

    Innovate Faster at Scale

    Docker containers accelerate delivery of new apps with microservices architecture by automating deployment pipelines. New features can be released (and rolled back in case of problems) frequently to quickly address customer needs.

  • Break Down Silos

    Break Down Silos

    Open interfaces, APIs, and plugins makes it easy to integrate Docker into an existing environment and extend Docker to different systems. A common interface allows dev and ops to work together without conflict or disruption.

Looking for ways to get started?
Here are common use cases to begin the Docker journey.

  • Modernize Traditional Apps

    Modernize Traditional Apps

    Package existing apps into containers and immediately improve security, reduce costs, and gain cloud portability with no changes to the app code.

  • Microservices

    Microservices

    Containers streamline development and deployment of apps designed with the microservices architecture pattern.

  • DevOps (CI/CD)

    DevOps (CI/CD)

    Accelerate and automate development pipelines with rapid feedback loops while eliminating app conflicts and increasing developer productivity.

  • Infrastructure Optimization

    Infrastructure Optimization

    Containerize apps and improve workload density by running them side-by-side on the same servers. Docker helps reduce costs by consolidating infrastructure, improving utilization, and accelerating cloud migration.

  • Hybrid Cloud

    Hybrid Cloud

    From private datacenters to public cloud infrastructure, Docker allows apps to be fully portable from one infrastructure to another without rewriting code. Accelerate migration to cloud and enable a hybrid or multi cloud environment.