Comparison with Docker Swarm

Compare Kubernetes ConfigMaps with Docker Swarm Configs.

The Similarities#

The mechanisms behind Kubernetes ConfigMaps and Docker Swarm Configs are almost the same. At least, from the functional perspective.

  • Both allow us to store some literal texts in the scheduler’s internal data store, and both enable us to add them to containers.
  • The syntax is equally simple and straightforward in both cases. Still, there are a few differences.
svg viewer

The Differences#

Docker#

Docker is good at preventing people from doing silly things (the politically correct version of the word stupid). An example would be an attempt to delete a configuration. It cannot be deleted if there are Docker services that reference the configuration. Only after all the services that reference it are removed, are we allowed to remove the configuration source. Kubernetes, on the other hand, will let us delete a ConfigMap object without even a hint about the consequences.

Kubernetes#

Kubernetes ConfigMap, on the other hand, provides a wider variety of options. While a Docker Swarm configuration can be created only from a file or stdin, the Kubernetes equivalent can be generated from a file, from a directory, from a literal value, and from files with environment variables. Each of those sources can be used multiple times. We can even combine them. Further on, Kubernetes ConfigMaps can be converted not only to files, but also to environment variables. Flexibility and extra functionalities are available both at the source and the destination end-points.

Conclusion#

Docker Swarm wins a user experience point. Kubernetes gains a star for providing more choices. Neither has a significant difference that would warrant a win, so we’re proclaiming it a tie.

There are many more features worthwhile comparing. We’re not yet finished. Stay tuned for more.

A Plea NOT to Use ConfigMaps!
Quick Quiz!
Mark as Completed
Report an Issue