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

Docker

131.6K
104.1K
+ 1
3.8K
Apache Maven

2.3K
1.5K
+ 1
413
Add tool

Docker vs Apache Maven: What are the differences?

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; Apache Maven: Apache build manager for Java projects. Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.

Docker belongs to "Virtual Machine Platforms & Containers" category of the tech stack, while Apache Maven can be primarily classified under "Java Build Tools".

Some of the features offered by Docker are:

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

On the other hand, Apache Maven provides the following key features:

  • Simple project setup that follows best practices - get a new project or module started in seconds
  • Consistent usage across all projects means no ramp up time for new developers coming onto a project
  • Superior dependency management including automatic updating, dependency closures (also known as transitive dependencies)

"Rapid integration and build up", "Isolation" and "Open source" are the key factors why developers consider Docker; whereas "Dependency management", "Necessary evil" and "I’d rather code my app, not my build" are the primary reasons why Apache Maven is favored.

Docker and Apache Maven are both open source tools. It seems that Docker with 53.8K GitHub stars and 15.5K forks on GitHub has more adoption than Apache Maven with 1.71K GitHub stars and 1.26K GitHub forks.

Lyft, StackShare, and Shopify are some of the popular companies that use Docker, whereas Apache Maven is used by Zillow, Bodybuilding.com, and PedidosYa. Docker has a broader approval, being mentioned in 3471 company stacks & 3322 developers stacks; compared to Apache Maven, which is listed in 301 company stacks and 138 developer stacks.

Decisions about Docker and Apache Maven
Florian Sager
IT DevOp at Agitos GmbH · | 2 upvotes · 259.7K 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 Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Docker
Pros of Apache Maven
  • 823
    Rapid integration and build up
  • 688
    Isolation
  • 518
    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
  • 136
    Dependency management
  • 71
    Necessary evil
  • 60
    I’d rather code my app, not my build
  • 48
    Publishing packaged artifacts
  • 43
    Convention over configuration
  • 18
    Modularisation
  • 11
    Consistency across builds
  • 6
    Prevents overengineering using scripting
  • 4
    Runs Tests
  • 4
    Lot of cool plugins
  • 3
    Extensible
  • 2
    Hard to customize
  • 2
    Runs on Linux
  • 1
    Runs on OS X
  • 1
    Slow incremental build
  • 1
    Inconsistent buillds
  • 1
    Undeterminisc
  • 1
    Good IDE tooling

Sign up to add or upvote prosMake informed product decisions

Cons of Docker
Cons of Apache Maven
  • 8
    New versions == broken features
  • 6
    Unreliable networking
  • 6
    Documentation not always in sync
  • 4
    Moves quickly
  • 3
    Not Secure
  • 6
    Complex
  • 1
    Inconsistent buillds
  • 0
    Not many plugin-alternatives

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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 Apache Maven?

Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.

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

What companies use Docker?
What companies use Apache Maven?
See which teams inside your own company are using Docker or Apache Maven.
Sign up for Private StackShareLearn More

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

What tools integrate with Docker?
What tools integrate with Apache Maven?

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

Blog Posts

PythonDockerKubernetes+7
3
743
PythonDockerKubernetes+14
11
2170
Jul 9 2019 at 7:22PM

Blue Medora

DockerPostgreSQLNew Relic+8
11
1878
DockerAmazon EC2Scala+8
6
2288
GitHubDockerReact+17
35
32109
What are some alternatives to Docker and Apache Maven?
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