Docker vs OSGi: What are the differences?
Developers describe Docker as "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. On the other hand, OSGi is detailed as "The Dynamic Module System for Java". It is a Java framework for developing and deploying modular software programs and libraries. It provides a vendor-independent, standards-based approach to modularizing Java software applications and infrastructure.
Docker can be classified as a tool in the "Virtual Machine Platforms & Containers" category, while OSGi is grouped under "Frameworks (Full Stack)".
Docker is an open source tool with 54.4K GitHub stars and 15.7K 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 OSGi is used by Liferay, Netcentric, and Enonic AS. Docker has a broader approval, being mentioned in 4806 company stacks & 18493 developers stacks; compared to OSGi, which is listed in 7 company stacks and 9 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
- Isolation686
- Open source514
- Lightweight456
- Scalable181
- Security85
- Fast12