PODMAN vs DOCKER - should you switch now?

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ส.ค. 2024

ความคิดเห็น • 117

  • @christianlempa
    @christianlempa  3 ปีที่แล้ว +19

    I created a new video on how to use Podman, Podman-Compose, and Manage it with Cockpit! Check it out: th-cam.com/video/-hJosY_M0I4/w-d-xo.html

  • @nathansire6623
    @nathansire6623 3 ปีที่แล้ว +47

    The root permissions issues with docker drives me crazy. I'm going to try podman just because of that.

    • @Max-xp3tf
      @Max-xp3tf 3 ปีที่แล้ว

      if you're running it on Linux, you can just run -> sudo usermod -aG docker $USER
      and then logout and login again. ^^

    • @junedkhatri31
      @junedkhatri31 3 ปีที่แล้ว +3

      @@Max-xp3tf the user can read the files who has the owner root from inside the container

    • @ThePapanoob
      @ThePapanoob 2 ปีที่แล้ว +7

      @@Max-xp3tf no that literally gives everyone in the docker group full root access

    •  2 ปีที่แล้ว +1

      Securing a Docker is not big deal, you just have to use a namespace (so Docker is not runned by root anymore) + docker group for your user + read only containers + unknow users on runtime (not root even in the container)

  • @DBTechYT
    @DBTechYT 3 ปีที่แล้ว +25

    I'd heard of Podman before, but never paid attention to it. Great explanation!! Thanks for sharing :)

  • @Mark-cw4tg
    @Mark-cw4tg 2 ปีที่แล้ว +22

    I recently tried to play around with podman to see if it is an alternative to docker. The installation on Windows WSL2 is way more cumbersome than docker. The installation of docker in combination with WSL2 is lately really smooth. But once I had it running I reached the next hurdle. The official alternative to docker-compose is podman play kube, which requires a way more complicated yml file. Especially if you look how short and simple my docker-compose yml file, which I used for the test, was. I think I will stick with docker for now.

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว +4

      100% agree with you!

    • @fanciestbanana4653
      @fanciestbanana4653 2 ปีที่แล้ว +6

      I come from linux environment (dualboot), but in my experience podman does everything that docker does and more. There is a podman daemon that works just like docker daemon that exposes the same API and is compatible with docker-compose. You can enable it just like the docker service. You can also use podman-compose if you don't want to deal with the deamon.

  • @code8986
    @code8986 ปีที่แล้ว +1

    Thank you for this video. It helped me not only to understand Podman better, but also to realize my mistake in thinking that Podman and Portainer are overlapping technologies when, in fact, they are orthogonal to each other.

  • @CaptZenPetabyte
    @CaptZenPetabyte 2 ปีที่แล้ว +4

    I have just switched to Fedora Server, it ships with Cockpit and setting up Podman is a couple of clicks (one click if you dont count the 'enable' slider!), and it looks like a streamlined way of installing/using containers. Also of note the server software update process can also update podman and all associated containers automatically, so no need for Watchtower (?)

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว +1

      Sounds pretty cool! I need to look more into RHEL based distros for sure...

  • @Worscht3000
    @Worscht3000 3 ปีที่แล้ว +23

    Well, in the Red Hat world docker is already replaced with podman since RHEL/CentOS 8 ;) even k8s deprecated docker, it is dying because of bad business decisions and not listening to the community what Red Hat did. I do not miss Docker for sure, all hail podman :D v3 will fully support docker-compose with no hassle.

    • @christianlempa
      @christianlempa  3 ปีที่แล้ว +1

      Yea I think docker will become less important especially in large environments, in some it's already out.

    • @themedleb
      @themedleb 3 ปีที่แล้ว +2

      Today I heard that Docker is making companies with a lot of users or makes a lot of money to pay the subscription for Docker Desktop.

    • @EYEVISUALdotNET
      @EYEVISUALdotNET 3 ปีที่แล้ว +1

      Seems like you guys were right, lol

  • @lovefamilychildrenhappines9330
    @lovefamilychildrenhappines9330 3 ปีที่แล้ว +6

    Podman is not only the default for Red Hat 8/CentOS 8 but you will have to go through lengths to get docker-ce working.

    • @JuddMan03
      @JuddMan03 ปีที่แล้ว

      Red hat ain't done till docker won't run

  • @sbrodriguez1980
    @sbrodriguez1980 2 ปีที่แล้ว +1

    Fantastic point of view about Podman. Congrats!!!!

  • @kunrinai6500
    @kunrinai6500 3 ปีที่แล้ว +4

    Ty man good video

  • @miracleinnocent2649
    @miracleinnocent2649 ปีที่แล้ว

    The biggest security concerns one should know is permission grants even if docker is rootless or podman is rootless

  • @marcello4258
    @marcello4258 2 ปีที่แล้ว +4

    the redhat guys wanted to replace docker because there is a daemon running in the background? boy :D you made my day ;) ..well in the end it is the same like privileged containers within LXC. I never used docker honestly since there was never a need to, but knowing they run as root.. to me, that is a big no-no.. it is imo less a problem that users who need to tinker with docker around have root privileges, it moreover is the problem that flaws in the container are running as root in your whole system hence downloading a bad image or having problems in your apps which runs inside the docker could harm your entire system

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว +2

      Yeah thats right. I think we have big problems with security in docker images, but Docker seems to be still the most common way to run them.

  • @Oswee
    @Oswee 3 ปีที่แล้ว +3

    Yeah... and now show the shared volume mounting for the rootless container. :)

    • @nathansire6623
      @nathansire6623 3 ปีที่แล้ว +1

      Is there problems with it?

  • @XaetaCore
    @XaetaCore 2 ปีที่แล้ว +1

    It depends, if you wish to work in the industry mainly enterprise, stick with docker since thats being used, and i don't expect companies to switch.

  • @TheBaertierchen
    @TheBaertierchen 3 ปีที่แล้ว +3

    Well. It would help if the devs of docker images would stop using the root user for the processes. Like on a bare matel machine nginx does not need root privs to run its services. There are existing solutions to securely open a priviledged port.
    But same as you I currently run docker as podman has some rather annoying complications with mounted volumes and their access rights on the filesystem level. It was too much of a headache for me to setup for a small personal project.
    Instead I check the containers and whereever possible I run them with the --user command or modify the container and build it myself to drop root privs. I also only grant access to the docker socket through a TCP proxy in read only mode to other containers. That excludes the usage of portainer for me but I can live with that limitation.

  • @davidg4512
    @davidg4512 3 ปีที่แล้ว +4

    I still like docker too.

  • @kain1638
    @kain1638 ปีที่แล้ว

    2 years later, tried again podman, podman-compose, podman desktop, went back to docker desktop almost immediately, again.

    • @christianlempa
      @christianlempa  ปีที่แล้ว +1

      Sad that there still don’t exist many tools for podman

  • @nathansire6623
    @nathansire6623 3 ปีที่แล้ว +2

    I subscribed. Excellent video. I've been looking for a docker alternative since Kubernetes deprecated docker.

    • @christianlempa
      @christianlempa  3 ปีที่แล้ว +1

      Thank you! 🥰

    • @KhajaMD143
      @KhajaMD143 2 ปีที่แล้ว

      Kubernetes depreciation shouldn't be the reason for anyone switching away from docker. The reason why Kubernetes deprecated docker was they didn't want to maintain dockershim, a shim that connects the Kubernetes and docker worlds. We can still use docker for building containers, local testing etc., but i get Podman is gaining ground over docker these days. The more tooling we get around Podman the easier it will be for people to adopt and move away from docker one day.

  • @marcoroose9973
    @marcoroose9973 2 ปีที่แล้ว +1

    I very much liked this particular content. Thought a lot about docker vs. Podman. And came to the exact same decission as you.

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว

      Thanks, good to see I'm not the only one 😄

  • @marcosscriven
    @marcosscriven 2 ปีที่แล้ว

    Great explanation. Subscribed.

  • @en4ble773
    @en4ble773 3 ปีที่แล้ว

    good stuff thank You for explanation. Just started learning docker and someone pointed me to podman so I might as well just flip now.... :P

  • @kiraitachi
    @kiraitachi 3 ปีที่แล้ว

    Thanks a lot mate. Im a new fan of your videos and content. Superb work!!

  • @okdoomer620
    @okdoomer620 2 ปีที่แล้ว

    thank you, exactly what i was looking for

  • @harleymandk
    @harleymandk 3 ปีที่แล้ว +1

    podman is default in cockpit for Redhat 8.

  • @streambarhoum4464
    @streambarhoum4464 ปีที่แล้ว

    I beleive Rancher with Podman solves the problem of lacking some extra features of portainer😎

  • @fredrik354
    @fredrik354 2 ปีที่แล้ว +4

    I'm probably going to stick to Docker until something other than Podman comes along. Not saying that Docker doesn't have bugs and what not however when looking at the amount of bugs with Podman still going on + new reports I'm sticking with Docker. Security issues will most def catch up with Podman. It is possible to run Docker rootless, even if it's an annoying process.
    Podman's website is not even being updated anymore? It just doesn't feel like something to hang on to.
    For any IT professionals it's also worth learning how to harden Docker even if it's in your homelab, rather than switching to something that is not industry standard.

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว

      Yeah I stick to Docker, too. Interesting though, I guess podman is being used in the Red Hat world a lot, Openshift, etc.

    • @MrVecheater
      @MrVecheater 2 ปีที่แล้ว +3

      If running an application securely requires extra work, you can practically expect a data breach at some point
      More complexity = more hidden security issues
      The "industry standard" Log4j should have woken people up, but it seems it didn't

  • @TheStigma
    @TheStigma 2 ปีที่แล้ว +2

    So if podman and docker follow the same standardized format - does that mean you could just run existing docker containers in podman without too much hassle?

    • @Eysvar
      @Eysvar 2 ปีที่แล้ว +5

      Yes. Both use the Open Container Image format under the hood and are therefore compatible with images built by the other.

  • @GorkemYildirim
    @GorkemYildirim 3 ปีที่แล้ว +5

    haha, Hello from Docker :D

  • @ziranshuzhang6831
    @ziranshuzhang6831 2 ปีที่แล้ว

    yeah, dockerd is now the most troublesome part on my project. All other parts will work just fine, it is always some error thrown by dockerd.

  • @Overthought7
    @Overthought7 3 ปีที่แล้ว +4

    podman looks promising, but is there a podman version of docker-compose?

    • @christianlempa
      @christianlempa  3 ปีที่แล้ว +1

      I think there are some projects like podman-compose on github, didn't test it, yet though.

    • @DigitEgal
      @DigitEgal 3 ปีที่แล้ว +1

      Thats the first question i thought about aswell :D Did you already looked it up @Synthetase2 ?

  • @dvp7388
    @dvp7388 ปีที่แล้ว

    Excellent video most helpful
    Goodbye docker !!

  • @bradleystannard7875
    @bradleystannard7875 ปีที่แล้ว

    I broke docker so badly on my mac, it was easier to migrate to using podman than it was to install docker again

  • @henokhsatrio8804
    @henokhsatrio8804 ปีที่แล้ว

    Does anyone here face error when try to make checkpoint of an image, especially using Debian 11/12? The error is about CRIU. Have installed CRIU but the problem still remain. But on Fedora everything works just fine. Thank you

  • @MsTwte
    @MsTwte 3 ปีที่แล้ว

    this video is about to blow up

  • @CharlFasching
    @CharlFasching 2 ปีที่แล้ว +4

    Think Podman is going to get much more attention, since Docker is enforcing their paid licensing from 31 Jan 22

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว

      Hmm I guess you're right! This video got many views since that time :D

  • @jeffreyplum5259
    @jeffreyplum5259 3 ปีที่แล้ว +2

    It seems the Docker universe has many tools to manage deploy and run docker containers. Knowing more of them means more ability to pick the right tools for the job. I am training myself on Docker and more server type stuff. I like that Linux desktops still have access to their server roots. I too prefer LTS Ubuntu releases, but the new XFCE 4.16 in 21.04 means I may jump ship. ?The fractional scaling of the desktop may save my old eyes. If Podman and other goodies come with it, so much the better. Thanks and god bless you all

  • @redlinejoes
    @redlinejoes ปีที่แล้ว

    I use Rootless Docker, and I am evaluating Podman. That is why I watched this video. I don't think you demonstrated what features are lost when using Podman. I'll watch your other videos to see if they do a better job. A proper comparison would be between Rootless Docker and Podman. Comparing Rootfull Docker to Podman is like the old saying goes, "apples to oranges."

  • @roya2045
    @roya2045 3 ปีที่แล้ว +2

    Hey bro what are docker containers and what is its actual use in real time where and when it it used. I don't have exp in develops, programming or databases

    • @AnteZivkovic
      @AnteZivkovic 3 ปีที่แล้ว +2

      You are in luck, there is a great video on that topic on the channel

    • @roya2045
      @roya2045 3 ปีที่แล้ว

      @@AnteZivkovic Hey thanks for the reply can you share the link please

    • @AnteZivkovic
      @AnteZivkovic 3 ปีที่แล้ว +2

      @@roya2045 no

    • @christianlempa
      @christianlempa  3 ปีที่แล้ว +1

      This video explains the difference between virtual machines and containers, and you'll also find links to my other tutorials about docker, I hope this helps!
      th-cam.com/video/RAaU-Q5LN9s/w-d-xo.html

    • @qiuyue4082
      @qiuyue4082 3 ปีที่แล้ว +1

      I hate such stupid question that are made just to pass some interviews. Go to the ffffffff docker homepage and start read for god sake

  • @fattheman1
    @fattheman1 2 ปีที่แล้ว +2

    I would like to state a few things that i feel are not right in the video. However I haven't tried podman in a while but it's not correct to say that podman doesn't have a Daemon, it does, it's called systemd, some could argue that's better than having a dedicated Daemon but I am not sure about that. Podman in itself doesn't have the same capabilities as docker so it shouldn't be compared like to like. Podman follows the same principles of RHEL or typically Linux folks, which is one tool to do one job, docker is a massive application, as an e.g. podman doesn't build images, that is buildah, it might come with some basic functionality of buildah included but is not podman that is doing it, because of all this that's why podman is not really a replacement for docker in terms of local development or local environment. In addition to this today nothing stops you to run docker containers without root or in rootless mode, that has been improved massively on docker

  • @filipslezak5152
    @filipslezak5152 2 ปีที่แล้ว

    Tbh i tried to switch from docker to podman but for some reason it never fully worked for me the way i expected so until podman becomes drop in replacement for docker i cannot switch to it.

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว

      I don't know what exactly didn't work for you, but podman is very similar to docker

  • @danielkurniadi8805
    @danielkurniadi8805 2 ปีที่แล้ว

    what's wrong with runAsUser: 1000 in k8s manifest?

  • @tobiastaurianviana8035
    @tobiastaurianviana8035 2 ปีที่แล้ว

    There's some implementation like docker compose to podman? And podman open ports automagically like docker do?(going through firewall) For example, when i use docker in a server using ufw, docker open this container ports to world, podman does the same thing?

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว

      There is podman-compose, regarding the ufw, I have no idea

  • @serhioromano
    @serhioromano 2 ปีที่แล้ว

    Will podman ps show containers run by docker and vice versa?

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว

      Good question, haven't tried that

    • @serhioromano
      @serhioromano 2 ปีที่แล้ว

      @@christianlempa Don't. Not working. Podman launch it's own instance of VM machine.

  • @Ho-un7lt
    @Ho-un7lt 3 ปีที่แล้ว

    Nice content, thank you :)

  • @021_dhruvaggarwal2
    @021_dhruvaggarwal2 2 ปีที่แล้ว +1

    Can I use it for windows, if not kindly suggest me the tool which help me to contanirize my application

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว

      Containers also work on Windows but I havent done it

  • @JosephJozwik
    @JosephJozwik ปีที่แล้ว

    Switching container technology or forced change through dropped support gets old.

  • @BayuSanjaya
    @BayuSanjaya ปีที่แล้ว

    is there any performance improvement when using podman compared to docker?

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      I'm not sure but I don't think there is a significant improvement in performance

  • @AarshParashar
    @AarshParashar 2 ปีที่แล้ว

    Make a video on Youki

  • @permus3625
    @permus3625 2 ปีที่แล้ว

    Hey, a Question please!
    I think when you add an user to docker-group, then he has just the privileges to run docker commands without sudo,
    but will not be a root user!

    • @christianlempa
      @christianlempa  2 ปีที่แล้ว +1

      On Dockers official homepage they have a section where they warn about doing this, because giving someone docker group is like giving someone root access.

  • @twanveldhuis4820
    @twanveldhuis4820 3 ปีที่แล้ว

    Really nice video, but I have a question. Can you use Podman in combination with Kubernetes?

    • @christianlempa
      @christianlempa  3 ปีที่แล้ว +2

      No Kubernetes has it's on runtime environment, not based on docker or podman. But it's nice as podman also has a concept of running pods like in kubernetes. It won't hurt you to take a look at ;)

  • @fanciestbanana4653
    @fanciestbanana4653 2 ปีที่แล้ว

    There is actually a deamon included with podman that is not enabled by default. It has the same API (albeit it's unix socket, not tcp).

    • @muayyadalsadi
      @muayyadalsadi 2 ปีที่แล้ว

      Podman does not need the daemon. for example if you type "docker build" the context directory is archived and sent as tarball to the daemon. In podman it just calls buildah directly no tarball archive/unarchive. Same when you run, pull etc.
      If you type podman run then ps you won't see any daemon.
      The socket in podman is used by mac users to run a client in their ide and pass the command to the podman in the vm.

    • @muayyadalsadi
      @muayyadalsadi 2 ปีที่แล้ว

      An example from the top of my head. One time I was running docker pull or docker build and for some glitch in my network the daemon crash. The price of that crash should have been failure to build or to pull but it was the entire daemon crashed and all of the precious running container died.

  • @headinthekloudz
    @headinthekloudz 3 ปีที่แล้ว

    Can I learn Podman before docker, or I must learn docker 1st then podman?

    • @christianlempa
      @christianlempa  3 ปีที่แล้ว

      Yeah you can just learn Podman and then later try out Docker. Podman is very similar and the container technology is exactly the same, just the runtime implementation is different.

    • @headinthekloudz
      @headinthekloudz 3 ปีที่แล้ว

      @@christianlempa thanks bro, will do!

  • @saysoy1
    @saysoy1 10 หลายเดือนก่อน

    1:18 communicating with a daemon that is running in the background, sounds a bit satanic

  • @UrbanGuitarLegend
    @UrbanGuitarLegend ปีที่แล้ว +1

    Podman is better, point blank.

  • @udgamcl
    @udgamcl 2 ปีที่แล้ว

    please say the words: "we have ways of making you talk"

  • @AkamiChannel
    @AkamiChannel 3 ปีที่แล้ว

    First

  • @user-ud8hw4gp6t
    @user-ud8hw4gp6t 9 หลายเดือนก่อน

    was mich aber richtig verwirrt ist: wenn ich ein rootcontainer erstelle (vom host mit sudo nicht als root im container), dann taucht der nicht in podman desktop auf. das ist einfach mega verwirrend. ich verstehe auch noch nicht wie man resourcen sharen kann. man kann zwar gemeinsame volume erstellen, aber was ist wenn ich zb. ein bild das ich im virtuellen ram speichere (tmpfs) an einen anderen container senden will: muss ich dann nginx benutzen, oder docker compose?

  • @bogillstrom3593
    @bogillstrom3593 ปีที่แล้ว

    What about docker.sock:ro is that ”secure” ?