Need advice about which tool to choose?Ask the StackShare community!
Docker vs Packer: 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 Packer? Create identical machine images for multiple platforms from a single source configuration. Packer automates the creation of any type of machine image. It embraces modern configuration management by encouraging you to use automated scripts to install and configure the software within your Packer-made images.
Docker can be classified as a tool in the "Virtual Machine Platforms & Containers" category, while Packer is grouped under "Infrastructure Build Tools".
Some of the features offered by Docker are:
- Integrated developer tools
- open, portable images
- shareable, reusable apps
On the other hand, Packer provides the following key features:
- Super fast infrastructure deployment. Packer images allow you to launch completely provisioned and configured machines in seconds, rather than several minutes or hours.
- Multi-provider portability. Because Packer creates identical images for multiple platforms, you can run production in AWS, staging/QA in a private cloud like OpenStack, and development in desktop virtualization solutions such as VMware or VirtualBox.
- Improved stability. Packer installs and configures all the software for a machine at the time the image is built. If there are bugs in these scripts, they'll be caught early, rather than several minutes after a machine is launched.
"Rapid integration and build up" is the primary reason why developers consider Docker over the competitors, whereas "Cross platform builds" was stated as the key factor in picking Packer.
Docker and Packer are both open source tools. It seems that Docker with 53.8K GitHub stars and 15.5K forks on GitHub has more adoption than Packer with 9.03K GitHub stars and 2.46K GitHub forks.
According to the StackShare community, Docker has a broader approval, being mentioned in 3471 company stacks & 3322 developers stacks; compared to Packer, which is listed in 113 company stacks and 20 developer stacks.
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.
Pros of Docker
- Rapid integration and build up824
- Isolation690
- Open source520
- Testability and reproducibility505
- Lightweight459
- Standardization217
- Scalable184
- Upgrading / downgrading / application versions105
- Security87
- Private paas environments84
- Portability33
- Limit resource usage25
- Game changer16
- I love the way docker has changed virtualization15
- Fast13
- Concurrency11
- Docker's Compose tools7
- Easy setup5
- Fast and Portable5
- Because its fun4
- Makes shipping to production very simple3
- It's dope2
- Highly useful2
- HIgh Throughput1
- Very easy to setup integrate and build1
- Package the environment with the application1
- Does a nice job hogging memory1
- Open source and highly configurable1
- Simplicity, isolation, resource effective1
- MacOS support FAKE1
- Its cool1
- Docker hub for the FTW1
- Super1
Pros of Packer
- Cross platform builds27
- Vm creation automation9
- Bake in security4
- Good documentation1
- Easy to use1
Sign up to add or upvote prosMake informed product decisions
Cons of Docker
- New versions == broken features8
- Unreliable networking6
- Documentation not always in sync6
- Moves quickly4
- Not Secure3