Need advice about which tool to choose?Ask the StackShare community!

Docker

135.7K
107.4K
+ 1
3.8K
Heroku

22.2K
17.6K
+ 1
3.2K
Add tool

Docker vs Heroku: What are the differences?

What is Docker? Enterprise Container Platform for High-Velocity Innovation. 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.

What is Heroku? Build, deliver, monitor and scale web apps and APIs with a trail blazing developer experience. Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

Docker and Heroku are primarily classified as "Virtual Machine Platforms & Containers" and "Platform as a Service" tools respectively.

Some of the features offered by Docker are:

  • Integrated developer tools
  • open, portable images
  • shareable, reusable apps

On the other hand, Heroku provides the following key features:

  • Agile deployment for Ruby, Node.js, Clojure, Java, Python, Go and Scala.
  • Run and scale any type of app.
  • Total visibility across your entire app.

"Rapid integration and build up", "Isolation" and "Open source" are the key factors why developers consider Docker; whereas "Easy deployment", "Free for side projects" and "Huge time-saver" are the primary reasons why Heroku is favored.

Docker is an open source tool with 54K GitHub stars and 15.6K GitHub forks. Here's a link to Docker's open source repository on GitHub.

Spotify, Pinterest, and Twitter are some of the popular companies that use Docker, whereas Heroku is used by StackShare, Heroku, and Product Hunt. Docker has a broader approval, being mentioned in 3527 company stacks & 3449 developers stacks; compared to Heroku, which is listed in 1504 company stacks and 964 developer stacks.

Decisions about Docker and Heroku
Shared insights
on
HerokuHerokuGitHubGitHubDockerDocker
at
()

Heroku will be used to deploy the app as it is simple to setup and that is especially useful for an MVP. When you deploy an application, they already setup a website for you secured with HTTPS. They also have a lot of webpack and Docker support for you to bundle your app in. Github Actions will be used for the CI/CD pipeline as it easily integrates with Github. They also have “Actions” which help automate deployment workflow, and they already have one for deploying a Docker container to Heroku which we could use. Docker will be used to containerize the application as it will make our application portable and easier to deploy. This will also be beneficial for local developer environments.

See more
Florian Sager
IT DevOp at Agitos GmbH · | 2 upvotes · 267.4K views
Chose
LXDLXD
over
DockerDocker

lxd/lxc and Docker aren't congruent so this comparison needs a more detailed look; but in short I can say: the lxd-integrated administration of storage including zfs with its snapshot capabilities as well as the system container (multi-process) approach of lxc vs. the limited single-process container approach of Docker is the main reason I chose lxd over Docker.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Docker
Pros of Heroku
  • 823
    Rapid integration and build up
  • 688
    Isolation
  • 519
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 459
    Lightweight
  • 217
    Standardization
  • 184
    Scalable
  • 105
    Upgrading / down­grad­ing / ap­pli­ca­tion versions
  • 87
    Security
  • 84
    Private paas environments
  • 33
    Portability
  • 25
    Limit resource usage
  • 16
    Game changer
  • 15
    I love the way docker has changed virtualization
  • 13
    Fast
  • 11
    Concurrency
  • 7
    Docker's Compose tools
  • 5
    Easy setup
  • 5
    Fast and Portable
  • 4
    Because its fun
  • 3
    Makes shipping to production very simple
  • 2
    It's dope
  • 2
    Highly useful
  • 1
    Very easy to setup integrate and build
  • 1
    Package the environment with the application
  • 1
    Does a nice job hogging memory
  • 1
    Open source and highly configurable
  • 1
    Simplicity, isolation, resource effective
  • 1
    MacOS support FAKE
  • 1
    Its cool
  • 1
    Docker hub for the FTW
  • 1
    HIgh Throughput
  • 704
    Easy deployment
  • 459
    Free for side projects
  • 374
    Huge time-saver
  • 348
    Simple scaling
  • 261
    Low devops skills required
  • 190
    Easy setup
  • 174
    Add-ons for almost everything
  • 153
    Beginner friendly
  • 150
    Better for startups
  • 133
    Low learning curve
  • 48
    Postgres hosting
  • 41
    Easy to add collaborators
  • 30
    Faster development
  • 24
    Awesome documentation
  • 19
    Simple rollback
  • 19
    Focus on product, not deployment
  • 15
    Natural companion for rails development
  • 15
    Easy integration
  • 12
    Great customer support
  • 8
    GitHub integration
  • 6
    Painless & well documented
  • 6
    No-ops
  • 4
    I love that they make it free to launch a side project
  • 4
    Free
  • 3
    Great UI
  • 3
    Just works
  • 2
    PostgreSQL forking and following
  • 2
    MySQL extension
  • 1
    Security
  • 1
    Able to host stuff good like Discord Bot
  • 0
    Sec

Sign up to add or upvote prosMake informed product decisions

Cons of Docker
Cons of Heroku
  • 8
    New versions == broken features
  • 6
    Unreliable networking
  • 6
    Documentation not always in sync
  • 4
    Moves quickly
  • 3
    Not Secure
  • 24
    Super expensive
  • 7
    Not a whole lot of flexibility
  • 5
    No usable MySQL option
  • 5
    Storage
  • 4
    Low performance on free tier
  • 1
    24/7 support is $1,000 per month

Sign up to add or upvote consMake informed product decisions

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

What is Heroku?

Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Docker?
What companies use Heroku?
See which teams inside your own company are using Docker or Heroku.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Docker?
What tools integrate with Heroku?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Sep 29 2020 at 7:36PM

WorkOS

PythonSlackG Suite+17
6
2729
PythonDockerKubernetes+7
3
750
PythonDockerKubernetes+14
11
2175
Jul 9 2019 at 7:22PM

Blue Medora

DockerPostgreSQLNew Relic+8
11
1889
DockerAmazon EC2Scala+8
6
2293
What are some alternatives to Docker and Heroku?
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