Docker
Docker

57.1K
49.1K
+ 1
3.8K
Apache Maven
Apache Maven

1.8K
1.1K
+ 1
382
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
Florian Sager
IT DevOp at Agitos GmbH · | 1 upvotes · 298 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

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.
Why do developers choose Docker?
Why do developers choose Apache Maven?

Sign up to add, upvote and see more prosMake informed product decisions

What companies use Docker?
What companies use Apache Maven?

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

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
Interest over time
Reviews of Docker and Apache Maven
Avatar of gdi2290
Co-Founder and CTO at Tipe
Review ofDockerDocker

Docker is the new kid on the block disrupting virtualization nowadays. You're able to save up to 70% of your development cost on AWS (or any other cloud) switching to Docker. For example instead of paying for many small VMs you can spin up a large one with many Docker containers to drastically lower your cost. That alone is only one of the reasons why Docker is the future and it's not even the best feature: isolation, testa­bil­i­ty, re­pro­ducibil­i­ty, standardization, security, and upgrading / down­grad­ing / ap­pli­ca­tion versions to name a few. You can spin up 1000's of Docker containers on an ordinary Laptop, but you would have trouble spinning up 100's of VMs. If you haven't already checked out Docker you're missing out on a huge opportunity to join the movement that will change development/production environments forever

Review ofDockerDocker

The support for macOS is a fake.

I can't work with docker in macOS because de network and comunications with the container don't works correctly.

How developers use Docker and Apache Maven
Avatar of ssshake
ssshake uses DockerDocker

Currently experimenting. The idea is to isolate any services where I'm not confident yet in their security/quality. The hope is that if there is an exploit in a given service that an attacker won't be able break out of the docker container and cause damage to my systems.

An example of a service I would isolate in a docker container would be a minecraft browser map application I use. I don't know who wrote it, I don't know who's vetting it, I don't know the source code. I would feel a lot better putting this in a container before I expose it to the internet.

I believe I will follow this process for anything that's not properly maintained (not in an trusted apt-repo or some other sort of confidence)

Avatar of AngeloR
AngeloR uses DockerDocker

We are testing out docker at the moment, building images from successful staging builds for all our APIs. Since we operate in a SOA (not quite microservices), developers have a dockerfile that they can run to build the entirety of our api infrastructure on their machines. We use the successful builds from staging to power these instances allowing them to do some more manual integration testing across systems.

Avatar of Yaakov Gesher
Yaakov Gesher uses DockerDocker

Each component of the app was launched in a separate container, so that they wouldn't have to share resources: the front end in one, the back end in another, a third for celery, a fourth for celery-beat, and a fifth for RabbitMQ. Actually, we ended up running four front-end containers and eight back-end, due to load constraints.

Avatar of sapslaj
sapslaj uses DockerDocker

Linux containers are so much more lightweight than VMs which is quite important for my limited budget. However, Docker has much more support and tooling for it unlike LXC, hence why I use it. rkt is interesting, although I will probably stick with Docker due to being more widespread.

Avatar of Packet
Packet uses DockerDocker

We are running primarily as a micro-services platform and Docker lets us iterate on these smaller units consistently from dev to staging to production. It is also integral to our continuous deployment system for rolling out or rolling back new features.

Avatar of Scrayos UG (haftungsbeschränkt)
Scrayos UG (haftungsbeschränkt) uses Apache MavenApache Maven

All Java-Projects are compiled using Maven. We prefer it over Ant and Gradle as it combines lightweightness with feature-richness and offers basically all we can imagine from a software project-management tool and more.

Avatar of Casey Smith
Casey Smith uses Apache MavenApache Maven

Package management and build automation for the back-end, plus integration of front-end build automation using Gulp/Bower/NPM.

Avatar of Undisclosed, Do Not Contact or Spam Please
Undisclosed, Do Not Contact or Spam Please uses Apache MavenApache Maven

Necessary for Google j2objc

Avatar of theskyinflames
theskyinflames uses Apache MavenApache Maven

JEE application development cycle management.

Avatar of Anirban Das
Anirban Das uses Apache MavenApache Maven

Build and Dependency Management

How much does Docker cost?
How much does Apache Maven cost?
Pricing unavailable
Pricing unavailable
News about Apache Maven
More news