184.3K
135.6K
+ 1
3.9K

What is Docker?

The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
Docker is a tool in the Virtual Machine Platforms & Containers category of a tech stack.
Docker is an open source tool with GitHub stars and GitHub forks. Here’s a link to Docker's open source repository on GitHub

Who uses Docker?

Companies
9289 companies reportedly use Docker in their tech stacks, including Pinterest, Shopify, and Spotify.

Developers
145735 developers on StackShare have stated that they use Docker.

Docker Integrations

Java, Kubernetes, Bitbucket, VirtualBox, and Docker Compose are some of the popular tools that integrate with Docker. Here's a list of all 511 tools that integrate with Docker.
Pros of Docker
823
Rapid integration and build up
691
Isolation
521
Open source
505
Testa­bil­i­ty and re­pro­ducibil­i­ty
460
Lightweight
218
Standardization
185
Scalable
106
Upgrading / down­grad­ing / ap­pli­ca­tion versions
88
Security
85
Private paas environments
34
Portability
26
Limit resource usage
17
Game changer
16
I love the way docker has changed virtualization
14
Fast
12
Concurrency
8
Docker's Compose tools
6
Easy setup
6
Fast and Portable
5
Because its fun
4
Makes shipping to production very simple
3
Highly useful
3
It's dope
2
Very easy to setup integrate and build
2
HIgh Throughput
2
Package the environment with the application
2
Does a nice job hogging memory
2
Open source and highly configurable
2
Simplicity, isolation, resource effective
2
MacOS support FAKE
2
Its cool
2
Docker hub for the FTW
2
Super
0
Asdfd
Decisions about Docker

Here are some stack decisions, common use cases and reviews by companies and developers who chose Docker in their tech stack.

Denys
Software engineer at Typeform · | 13 upvotes · 1.7M views
Shared insights
at
  • Go because it's easy and simple, facilitates collaboration , and also it's fast, scalable, powerful.
  • Visual Studio Code because it has one of the most sophisticated Go language support plugins.
  • Vim because it's Vim
  • Git because it's Git
  • Docker and Docker Compose because it's quick and easy to have reproducible builds/tests with them
  • Arch Linux because Docker for Mac/Win is a disaster for the human nervous system, and Arch is the coolest Linux distro so far
  • Stack Overflow because of Copy-Paste Driven Development
  • JavaScript and Python when a something needs to be coded for yesterday
  • PhpStorm because it saves me like 300 "Ctrl+F" key strokes a minute
  • cURL because terminal all the way
See more
Joshua Dean Küpper
CEO at Scrayos UG (haftungsbeschränkt) · | 1 upvote · 77.4K views

Docker is used as a key part of our new type of infrastructure that relies exclusively on containers. We prefer docker since it offers us all we need in a very stable and battle-proven manner.

See more
Shared insights

I have got a small radio service running on Node.js. Front end is written with React and packed with Webpack . I use Docker for my #DeploymentWorkflow along with Docker Swarm and GitLab CI on a single Google Compute Engine instance, which is also a runner itself. Pretty unscalable decision but it works great for tiny projects. The project is available on https://fridgefm.com

See more
Simon Bettison
Managing Director at Bettison.org Limited · | 8 upvotes · 745.2K views
Shared insights
at

In 2012 we made the very difficult decision to entirely re-engineer our existing monolithic LAMP application from the ground up in order to address some growing concerns about it's long term viability as a platform.

Full application re-write is almost always never the answer, because of the risks involved. However the situation warranted drastic action as it was clear that the existing product was going to face severe scaling issues. We felt it better address these sooner rather than later and also take the opportunity to improve the international architecture and also to refactor the database in. order that it better matched the changes in core functionality.

PostgreSQL was chosen for its reputation as being solid ACID compliant database backend, it was available as an offering AWS RDS service which reduced the management overhead of us having to configure it ourselves. In order to reduce read load on the primary database we implemented an Elasticsearch layer for fast and scalable search operations. Synchronisation of these indexes was to be achieved through the use of Sidekiq's Redis based background workers on Amazon ElastiCache. Again the AWS solution here looked to be an easy way to keep our involvement in managing this part of the platform at a minimum. Allowing us to focus on our core business.

Rails ls was chosen for its ability to quickly get core functionality up and running, its MVC architecture and also its focus on Test Driven Development using RSpec and Selenium with Travis CI providing continual integration. We also liked Ruby for its terse, clean and elegant syntax. Though YMMV on that one!

Unicorn was chosen for its continual deployment and reputation as a reliable application server, nginx for its reputation as a fast and stable reverse-proxy. We also took advantage of the Amazon CloudFront CDN here to further improve performance by caching static assets globally.

We tried to strike a balance between having control over management and configuration of our core application with the convenience of being able to leverage AWS hosted services for ancillary functions (Amazon SES , Amazon SQS Amazon Route 53 all hosted securely inside Amazon VPC of course!).

Whilst there is some compromise here with potential vendor lock in, the tasks being performed by these ancillary services are no particularly specialised which should mitigate this risk. Furthermore we have already containerised the stack in our development using Docker environment, and looking to how best to bring this into production - potentially using Amazon EC2 Container Service

See more
Praveen Mooli
Engineering Manager at Taylor and Francis · | 18 upvotes · 3.8M views

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

See more

We are planning to choose Docker since it will allow us to build and install libraries and dependencies with ease. Its extensive use in the world will be helpful to provide us with useful discussion boards. This will be the first time any member of the dev team will be using Docker as part of their application. Given the limited readings, we have been able to do about it in the time we had, we a really excited to get to work with it. It seems to have a lot of potential that we would like to explore as a team. Another reason is that our dev team currently only has access to Windows machines and we want our application to be system agnostic. Using Docker will also help us limit the number of CI minutes our application requires.

See more

Blog Posts

PythonDockerKubernetes+7
3
1092
PythonDockerKubernetes+14
12
2594
Jul 9 2019 at 7:22PM

Blue Medora

DockerPostgreSQLNew Relic+8
11
2329
DockerAmazon EC2Scala+8
6
2704
GitHubDockerReact+17
40
36085

Docker's Features

  • Integrated developer tools
  • open, portable images
  • shareable, reusable apps
  • framework-aware builds
  • standardized templates
  • multi-environment support
  • remote registry management
  • simple setup for Docker and Kubernetes
  • certified Kubernetes
  • application templates
  • enterprise controls
  • secure software supply chain
  • industry-leading container runtime
  • image scanning
  • access controls
  • image signing
  • caching and mirroring
  • image lifecycle
  • policy-based image promotion

Docker Alternatives & Comparisons

What are some alternatives to Docker?
LXC
LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.
rkt
Rocket is a cli for running App Containers. The goal of rocket is to be composable, secure, and fast.
Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
Cloud Foundry
Cloud Foundry is an open platform as a service (PaaS) that provides a choice of clouds, developer frameworks, and application services. Cloud Foundry makes it faster and easier to build, test, deploy, and scale applications.
Vagrant
Vagrant provides the framework and configuration format to create and manage complete portable development environments. These development environments can live on your computer or in the cloud, and are portable between Windows, Mac OS X, and Linux.
See all alternatives

Docker's Followers
135647 developers follow Docker to keep up with related blogs and decisions.