DEV Community

Cover image for TIME TO SAY BYE BYE DOCKER !!! Era of Docker is over...

TIME TO SAY BYE BYE DOCKER !!! Era of Docker is over...

manish srivastava on May 28, 2020

The Podman- an Open Containers Initiative-compliant container management tool, similar to Docker, Podman is very lightweight, there is no bigfat pr...
Collapse
kovah profile image
Kevin Woblick

I know podman for some time, but never moved to it and I guess it's the same for many other developers ot there. The problem: it does not natively support Windows or macOS. Docker provides apps for both platforms and they run quite well. But podman just states that "you need to have some Linux VM running and you can use this tool to remotely manage podman inside the VM". There is no help, no tutorial for setting up this stack.

Collapse
anortef profile image
Adrián Norte

This is one of the main reasons for not switching.

Collapse
mburszley profile image
Maximilian Burszley

This might be a maturity thing. Docker started out the same way - until around 2016 when they made Docker Desktop run native w/ Windows (versus piped through a VM using docker-machine).

Collapse
manishfoodtechs profile image
manish srivastava Author

+1 yes Max, you are right

Collapse
manishfoodtechs profile image
manish srivastava Author

+1 This is a real problem with windows and mac OS desktop users. However, they can use Podman as suggested by Kevin through Linux VM or remotely. Very nice, Kevin. However, here is some instructions about podman podman.io/getting-started/installa...

Collapse
jdickey profile image
Jeff Dickey

Why would I want to load another layer that can fail (a VM manager) when alternatives exist that can be run by every developer in my org, whether they're on macOS, Windows, or Linux? Why would my org want to put a big question mark on whether we can fully use Docker images published on Docker Hub or on our own internal repository? Docker isn't perfect — parsecs from it — but it's been a good three years since we ran into a previously-unknown unknown that couldn't have a solution pointed to with a few minutes of research?

Twenty years ago, I was as bleeding-edge as any hacker in love with his own believed ability to solve any problem just through sheer awesomeness. I got fired from my dream job because I kept installing Mandrake (what would later be Mandriva) Linux when shop and customer standards required Red Hat. ("It's compatible, isn't it?" No, not always, and the differences aren't known widely enough and solutions aren't trivial enough to add the risk and expense of deviating from standards.) It took me five years before I even understood that — by which time I'd been writing software for a living for 25 years.

Standards matter, and they tend to remain standards for real businesses until and unless a new tech can be shown to be either a) so completely frictionless that it doesn't matter technically which of the two you're using (and if that's the case, why bother switching?), or b) so revolutionary and so clearly better at solving real-world problems (beyond appealing to the Kool Kids™) that the risk and cost and pain of migration is outweighed by the demonstrable benefits. (That's how Docker, and Linux, and PCs, earned their places in the business world.)

No disruptive technology is ever fully compatible with its predecessor, and no fully compatible technology wins against an incumbent unless business reasons make that incumbent unavailable. (I worked briefly for Silicon Graphics back in the day; they didn't die because somebody out-competed them on technology.)

Docker has been one of the two or three greatest leaps forward that I've seen in the last 40 years — not because they're perfect, but because they're good enough and because they solve a set of use cases with lower risk than any direct competitor with similar reach. When that changes, and it will one day, then there'll be a new top dog. But until then, rotsa ruck moving the installed base.

Thread Thread
manishfoodtechs profile image
manish srivastava Author

+1 True Jeff.
-Standards matter.
-No disruptive technology is ever fully compatible with its predecessor, and no fully compatible technology wins against an incumbent unless business reasons make that incumbent unavailable.
-Docker has been one of the two or three greatest leaps forward that I've seen in the last 40 years — not because they're perfect, but because they're good enough and because they solve a set of use cases with lower risk than any direct competitor with similar reach.

Here is one article : Here's why podman is more secured than Docker - DevSecOps
cloudnweb.dev/2019/10/heres-why-po...

Collapse
g105b profile image
Greg Bowler

Is this true for WSL? It's probably not long until Windows is running a full Linux kernel anyway.

Collapse
manishfoodtechs profile image
manish srivastava Author

With the latest Windows Subsystem for Linux (WSL) 2.0 implementation, Podman now works out of the box.
redhat.com/sysadmin/podman-windows...

Collapse
leob profile image
leob

I am sure that Podman is technically superior to Docker in many ways, HOWEVER ... that doesn't guarantee that people are going to switch overnight. For people to switch, I think that it has to be:

1) Not just 40 or 50% better than Docker, but an order of magnitude better

2) Largely "interface compatible" (API's and "commands") with Docker, so that people don't have to relearn everything from scratch, and so that a large part of the Docker ecosystem "carries over" easily

If those criteria are met then yes for many people this could be a no-brainer, you just switch out the "engine" for a better one but the way you drive the car remains virtually the same.

Like what you said: "you won't even notice the difference in most cases"

Collapse
manishfoodtechs profile image
manish srivastava Author

True leob.
unlike docker, podman has currently no gui like portainer.io to manage. However, it's fits well with kubernetics.
Redhat people did something really good by creating podman.

Collapse
leob profile image
leob

Is it more efficient (performant) compared to Docker? That's something that can win people over, if they end up spending less on their cloud infrastructure then they have an incentive to migrate.

Thread Thread
manishfoodtechs profile image
manish srivastava Author

yes. podman is equally efficient like docker + it is more secure being daemon less.
All commands are same. just we have to replace docker with podman.

Time will let us know how good podman over docker. Let's wait what other system admin says about podman

Collapse
jessekphillips profile image
Jesse Phillips

It looks like runC is a tool built by Docker specifically to begin decoupling the codebase. This to me suggests that Docker is heading in a direction to address the issues mentioned and fixed with podman.

Basically docker is opensource and working to create its own competition.

docker.com/blog/runc/

Collapse
manishfoodtechs profile image
manish srivastava Author

I will add something more in your comment .
The Open Container Initiative (OCI)

Following Docker's release, a large community emerged around the idea of using containers as the standard unit of software delivery. As companies started using containers to package and deploy their software more and more, Docker's container runtime did not meet all technical and business needs that engineering teams could have. In response to this, the community started developing new runtimes with different implementations and capabilities. Simultaneously, new tools for building container images aimed to improve on Docker's speed or ease of use. To make sure that all container runtimes could run images produced by any build tool, the community started the Open Container Initiative — or OCI — to define industry standards around container image formats and runtimes.

Docker's original image format has become the OCI Image Specification, and various open-source build tools support it, including:
.... Read more... here .... padok.fr/en/blog/container-docker-oci

Collapse
tomfern profile image
Tomas Fernandez

Docker is also moving to rootless. Yesterday there was a very talk about that in DockerCon by runC's maintainer.

Here's the link:
youtube.com/watch?v=uWURUtqLiqQ

Collapse
manishfoodtechs profile image
manish srivastava Author

+1 thanks Thomas

Collapse
idomyowntricks profile image
Brian Christner

Small correction to your article. Indeed AWS Fargate moved away from Docker engine not to Podman or CRI-o O but moved to ContainerD the same runtime as Docker engine. aws.amazon.com/blogs/containers/un...

Collapse
pavelloz profile image
Paweł Kowalski

I hope you are right, but at the same time i think you arent. Unfortunately, there is too much investment in docker nowadays to let it just die.

Collapse
manishfoodtechs profile image
manish srivastava Author • Edited on

Docker will not die but it need some good changes like more align towards security of containers.
Docker is so much popular that people understand 'containers' mean 'docker containers' just like 'git' means 'github'.

I try to use less docker or podman containers in production. I love lxd.

Collapse
elmuerte profile image
Michiel Hendriks

Coming from the Java world, java -jar ... is the best container out there.

Collapse
moopet profile image
Ben Sinclair

Quite surprised Podman hasn't been sued by Apple yet for having those three particular letters in its name.

Collapse
manishfoodtechs profile image
manish srivastava Author

haha after your comment they will .....

Collapse
habereder profile image
Raphael Habereder

Having worked in dozens of Containerization-Projects in many companies over the years, Docker won't go away that quickly I'm afraid.
There aren't many broadly-accepted alternatives besides Docker. Docker has the advantage that "it was there first" (if we ignore LXC for a second)

Most big organizations are just now migrating to containers (I've mostly seen docker and containerd being used). Now, 7 years after docker was initially released to the public. That's how cautios/slow big organizations are.
Migrating to a new toolset during a running migration is mostly a terrible idea and almost always never happens. Even if the competing platform saves you a hell of a lot of trouble, most (big) companies prefer suffering Devs/Ops over spending precious money.
So give it a few years time until you can safely say bye-bye to docker.

The next best thing would probably be switching to plain containerD or CRI-O, since they are supported by vanilla kubernetes and thereby a safe bet for a few years.

Collapse
manishfoodtechs profile image
manish srivastava Author

+1 Raphael
Here is now what docker is upgrading itself in next release 20.x is go as rootless like podman. Give it a try.

I am still that old man with LXC stick in hand :)

Collapse
jmau111 profile image
Julien Maury

A fascinating tool. It seems almost perfectly shaped.
But, "SAY BYE BYE DOCKER" I seriously doubt that.

Collapse
manishfoodtechs profile image
manish srivastava Author

+1 Julien. I believe podman has three USPs that may gradually bring some more sysadmins to it's fold:

  1. similar commands like docker.
  2. more security than docker being daemon less. 3.use of docker hub : push & pull.

What it lacks is Gui right now. But most of us feel comfortable with our terminal 😉

Collapse
manishfoodtechs profile image
manish srivastava Author

+1 Julien. I believe podman has three USPs that may gradually bring some more sysadmins to it's fold:

  1. similar commands like docker.
  2. more security than docker being daemon less. 3.use of docker hub : push & pull.

What it lacks is Gui right now. But most of us feel comfortable with our terminal 😉

Collapse
muhimen123 profile image
Muhimen

The good thing(also the bad thing) about tech is: There is always a new and better thing in the queue.

Collapse
manishfoodtechs profile image
manish srivastava Author • Edited on

True. But there is one container technology which never got it's fame as it should have.
Lxc and LXD. Once, docker was made with it's library . Recently, they launched lxd 4.0 .

Less than 5% people uses lxd. I am also among them. ckeck out lxd too.

Collapse
biros profile image
Boris Jamot ✊ /

In the series: "learn docker concepts, not docker commands" :)

Event if in fact, podman aims to have the same commands as Docker's.

Collapse
manishfoodtechs profile image
manish srivastava Author

you may also like my another article learning docker and lxd together.
Here is a link:

dev.to/manishfoodtechs/5-minutes-c...

Collapse
id1385 profile image
Mohammad

docker eat my all memory !
so hello podman
its really nice
its foot print ram usage

Collapse
id1385 profile image
Mohammad

docker desktop no linux

Collapse
ashk26 profile image
Ashish

Lot of paragraphs but no code.

Collapse
manishfoodtechs profile image
manish srivastava Author

noodlebreak true.
Codes are intentionally not put inside article to make article simple.

Also, docker and podman have same commands.

you can install podman by following this link :

podman.io/getting-started/installa...

and can apply following commands by replacing docker with podman.

dev.to/manishfoodtechs/5-minutes-c...

Hope this help

Collapse
leandroruel profile image
Leandro RR

hmmmMmMmMm...ok

Collapse
manishfoodtechs profile image
manish srivastava Author

Docker "Rootless" . please also read this article to implement Rootless docker

dev.to/manishfoodtechs/rootless-do...

Collapse
franky1 profile image
Franky1

Some reasons not to switch yet:

  • docker-compose does not work
  • portainer does not work
  • anything that relies on docker sockets does not work e.g. traefik, nginx-proxy ...
Collapse
manishfoodtechs profile image
manish srivastava Author

Docker Compose with podman:
1.balagetech.com/convert-docker-comp...
2.PODMAN COMPOSE: Podman Compose :github.com/containers/podman-compose

Portainer / Gui managers
No Gui managers available for podman. only terminal

docker socket
I have not explored this. May someone share his experience.
But here is one article: redhat.com/sysadmin/container-netw...

Collapse
florianheigl profile image
Florian Heigl

summary: switching for switching's sake, no matter the cost it brings...

Collapse
yuhenobi profile image
Vasilii Borisov

Hmm, clickbait title is here?
And what about “docker-compose” compatibility?

Collapse
manishfoodtechs profile image
manish srivastava Author

Maybe 😁.
For docker compose usage with podman pls see this comment:
dev.to/manishfoodtechs/comment/pkdi

hope this help