Never install locally

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 2,1 тис.

  • @rnbpl
    @rnbpl 9 місяців тому +146

    if there's one thing web developers excel at is finding ways to spend exponentially large amounts of resources to make it so they have to spend a little less effort remaining organized

    • @not_herobrine3752
      @not_herobrine3752 9 місяців тому +9

      the hubris of mankind will know no bounds

    • @bugfeatures
      @bugfeatures Місяць тому

      also the lie in the first sentence "lighning fast" ... yeah waste increadable reourcen and claim its fast

    • @scycer
      @scycer 17 днів тому

      They are at basically native speed when the underlying docker host is Linux based without a VM abstraction. When docker on non Linux OSs need a VM layer, then it's a different story. I've had team project that loaded on seconds for me on Ubuntu and minutes for others on mac

  • @zen5066
    @zen5066 Рік тому +2418

    He said "badly demonstrated banana", pulled the hardest banana animation to date and thought we wouldn't notice.

    • @untitled6087
      @untitled6087 8 місяців тому +40

      straight out of portal 2

    • @eliokuster4915
      @eliokuster4915 8 місяців тому +7

      Yeah for real, had the same thought.

    • @kleinerhalflife
      @kleinerhalflife 8 місяців тому +9

      @@untitled6087 we love exploded diagrams

    • @skidadle5473
      @skidadle5473 8 місяців тому +58

      "pulled the hardest banana"

    • @Zoooooooooooo
      @Zoooooooooooo 7 місяців тому +4

      a hard banana you say

  • @FelipeCampelo0
    @FelipeCampelo0 10 місяців тому +58

    I still can't understand containers but I like this video

  • @shoebilyas5368
    @shoebilyas5368 10 місяців тому +476

    A brief and up to the point with no bs documented video for anyone who wants to understand the core concepts without/before getting into the development aspect of it.

    • @hamdanmahmood346
      @hamdanmahmood346 6 місяців тому +8

      A brief and no bs comment for somebody who wants a quick "review" of the video before committing to watching it; thanks.

  • @amirhoseinniknezhad112
    @amirhoseinniknezhad112 Рік тому +797

    This video is not only beautifully animated and narrated, it's also incredibly informative and easy to follow despite the content being complicated, a real work of art. I loved it so much I had to log in to leave this comment, something I seldom do. Thank you very much.

    • @coderized
      @coderized  Рік тому +21

      Thank you!

    • @ArthurKhazbs
      @ArthurKhazbs Рік тому +10

      Yes! And the animation does an amazing job conveying the ideas in great detail. The author is clearly a genius.

    • @AMindInOverdrive
      @AMindInOverdrive 11 місяців тому +2

      that was very nice of you to comment like that 🙂

    • @habeebmohamed4718
      @habeebmohamed4718 11 місяців тому

      this sounds like an insult

  • @Eurotool
    @Eurotool Рік тому +5686

    This channel is like 3blue1brown and Fireship had a baby

  • @moonlambo5229
    @moonlambo5229 Рік тому +98

    This video is a triumph of minimalism and simplicity. Amazing job!

    • @kopuz.co.uk.
      @kopuz.co.uk. 4 місяці тому

      if you like bloat, you like bloat.

  • @ymi_yugy3133
    @ymi_yugy3133 Рік тому +2099

    Containers are generally great but there are some pitfalls to be aware of.
    1. They don't abstract over CPU architecture. If your application or some library use use is x64 only, I'd won't easily run on an Apple Silicon Mac.
    2. Host systems handle network a bit different. Some allow you to access containers via IP from the host system, some only allow you to access containers on localhost via port forwarding
    3. Different software on the host system, can have a big impact on performance even if hardware is the same or comparable.
    4. Containers are by design not mutable. Having to shutdown and rebuild with every change you make can slow you down significantly when you are iterating.
    5. Containers make it easy to utilize a bunch of dirty hacks to get your code running. This means you are hurt even more when things do break because you need to update some dependency e.g..

    • @coderized
      @coderized  Рік тому +306

      Thanks for the additions although not all this is correct. It's explained well below, by others.

    • @nandomax3
      @nandomax3 Рік тому +108

      It's because of the number 4 I quit developing using containers. Now I use many wsl2 terminals to install different Java runtimes. And inside them I code and run projects locally. Just after finishing a project locally and when I want to deploy it to my cloud dev environment I build the image. And after tested in dev env I build the production image and deploy it to the production env.
      Where I work we also use this workflow and for me it's the most optimal. Sometimes when I want to use a DB locally I run them using container and I use the docker host network, so they work as if in my localhost network

    • @thom1218
      @thom1218 Рік тому +261

      For number 4, you could be using the -v volume mapping feature of docker that maps a part of the host file system to a part of the container filesystem so your compiled changes can reflect immediately within the running container - no rebuild necessary, just restarting the java process (for example) is enough, or if you have hot-reload of class files enabled then you're good to go.

    • @NicolaiNita
      @NicolaiNita Рік тому +34

      @@thom1218 it is also possible to change any other file within the running container, the changes persistent until you delete the container. I do this to test different configurations before including the changes to the final build of the image.

    • @MrVecheater
      @MrVecheater Рік тому +87

      6. compatibility is not really for free because your host kernel still needs to support the features you need
      7. false sense of security: mounts, the host kernel and the X server and bad defaults (like running everything as root inside your container) will remain or become vulnerable

  • @darkosimonovski3653
    @darkosimonovski3653 Рік тому +9

    the kernel be like the representation of moses in south park xD

    • @xLTxFire
      @xLTxFire 6 місяців тому +1

      This is pretty far down in the comments so I didn't realize you beat me to it lol.

  • @Ermude10
    @Ermude10 Рік тому +40

    Dude, the quality of these animations and explanations are amazing! And all the small sprinkles of humour makes this into a very engaging video. Well done! Subscribed!

  • @coderized
    @coderized  Рік тому +248

    I wanted to incude this in the video originally but didn't want to get too far off scope -- if you use VSCode, check out "Dev Containers" - they are an easy way to start the IDE inside your perfect container environment, automatically, whenever you open your project.
    Also, despite me presenting it as so, containers don't actually contain an OS in the true meaning of the word. That's an oversimplification. It's more of an "OS-like" environment. It definitely can act in ways that you'd expect an OS to act, for most purposes, but there are some differences.

    • @8jjiyu654
      @8jjiyu654 Рік тому

      VSCode is not an IDE?! o.o

    • @coderized
      @coderized  Рік тому +6

      @@pawekoaczynski4505 Yeah I feel you, but it's still a relatively new feature so I'm hoping it'll mature with time. WSL definitely did! Thanks for the addition, it's great for people to be aware of these current pitfalls!

    • @BusinessWolf1
      @BusinessWolf1 Рік тому +5

      "if you use VSC" as if 99% of all developers ever aren't using vsc bruhhhh

    • @coderized
      @coderized  Рік тому +4

      @@8jjiyu654 It is, why? 🤔

    • @8jjiyu654
      @8jjiyu654 Рік тому +1

      @@coderized I am not an experienced programmer. I had heard that VSCode isn't an IDE. How's it otherwise for you? O.o

  • @manavkhandurie
    @manavkhandurie Рік тому +174

    I m mesmerized by the production , the sound , the animations , the content , the everything. Keep up the good work

  • @dschaedler
    @dschaedler Рік тому +5

    'Works on my machine' definitely still exists, as docker on windows mac and linux behaves very different 😅

  • @bluepomodoro3679
    @bluepomodoro3679 8 місяців тому +2

    This is my first time coming across this channel and I instantly fell in love with the delivery method and the minimalistic animation used to convey hard topics into simplified lessons. Pure talent.
    You earned new sub and looking forward to your future videos!!

  • @plica06
    @plica06 8 місяців тому +761

    Didn't really explain WHY to never install locally.

    • @howdarethee
      @howdarethee 7 місяців тому +48

      Because you can install/run on docker

    • @tilakadroja
      @tilakadroja 7 місяців тому +65

      Sometimes packages don't work as expected in different environment, i just ran into this problem today. I wasted 3 hours to setup project locally in windows when i tried to do same in my friend's mac it ran without issue. In my windows it wasn't downloading some npm packages

    • @mythbunkers4716
      @mythbunkers4716 6 місяців тому +5

      ​@@tilakadroja Mac has been integrating a lot of linux tools lately.

    • @adora_was_taken
      @adora_was_taken 6 місяців тому

      @@mythbunkers4716 mac has always been basically a sibling of linux considering it's based on openbsd.

    • @madarah8533
      @madarah8533 6 місяців тому

      ​@@mythbunkers4716 mac is very similar to linux anyway

  • @andrasdotsch
    @andrasdotsch Рік тому +33

    Frankly, "works on my machine" is just replaced with "this container works on my machine", and it's because the host's Kernel might not be the same.

    • @Faust29
      @Faust29 8 місяців тому

      let the container runtime handle the compatibility instead of you handle it by urself

    • @bubis
      @bubis 8 місяців тому +11

      ​@@Faust29You don't understand the problem. If the host's kernel does not support it, you can't do anything. Containers have a (mostly) hidden dependency on the kernel version.

    • @trustytrojan
      @trustytrojan 4 місяці тому

      this is extremely true now that i've started experimenting with waydroid on arch linux and learning quite a lot about kernel differences 😭🙏

  • @calopsitarevoltada6109
    @calopsitarevoltada6109 Рік тому +7

    I was actually struggling to understand what exactly was Docker, and seeing a while explanation on containers (and even kubernetes) was really worth watching.
    Loved it!!

    • @johnathanrice3569
      @johnathanrice3569 Рік тому +2

      It’s for people that don’t know how to take snapshots of their OS and don’t know what multi process applications are. You can run 65,535 Web servers per nic.

  • @sufilevy
    @sufilevy Рік тому +519

    This video is amazing.
    I really appreciate the amount of effort that you put into this, and it shows.
    In particular, I love that there are no visible cuts in the entire video. Just beautifuly animated transitions.

    • @coderized
      @coderized  Рік тому +25

      Thank you Sufi - glad you liked it! 😊

    • @pigsweat7763
      @pigsweat7763 Рік тому +35

      @@coderized seriously, one cannot overstate how absolutely refreshing it is to be able to watch an informative youtube video with out constant annoying epileptic-tier cuts, over-hyped voices, and distracting background music. thank you.

    • @sufilevy
      @sufilevy Рік тому +5

      @@pigsweat7763 Super accurate!

    • @SebasMederos
      @SebasMederos Рік тому

      such an amazing vid

    • @hannahsmith6095
      @hannahsmith6095 Рік тому +2

      Just subscribed.

  • @ragtop63
    @ragtop63 5 місяців тому +1

    FINALLY! A video that gives a quick concise easy to understand explanation of what containers are and how they work.
    I can’t tell you how many times I’ve watched a video on this subject and the creator is throwing Docker commands around but not explaining a single thing about the hows and whys.
    Bravo!

  • @sodiqayilara1519
    @sodiqayilara1519 Рік тому +14

    The quality of the content is beyond. Subbed. As a front end guy trying to know how this docker world works, this is a good start.

  • @beepbop6697
    @beepbop6697 Рік тому +38

    Containers do not contain an "OS". They always use the hosting kernel. The best way to think of containers is that they contain your userland executable(s), and the host kernel keeps the running process and filesystem, network isolated (jailed) from everything else (including other containers) running on the host.

    • @coderized
      @coderized  Рік тому +10

      Yeah in hindsight, maybe it was too much of an oversimiplification with that part

    • @JohnDoe-ng6ec
      @JohnDoe-ng6ec Рік тому +1

      I see. So that's why with containers it sometimes matters what host OS I'm using? Because the container will have a different kernel at its disposal and a different set of executables to use and yadda yadda

    • @beepbop6697
      @beepbop6697 Рік тому +15

      @@JohnDoe-ng6ec the host OS will almost always be Linux, as the Linux kernel is what is really providing the process separation that your containers are utilizing. If your host OS is Windows or MacOS, the container software will almost always be launching a (hidden) Linux virtual machine where your containers run. Now Microsoft has created their own thing that allows you to run Windows executables natively as a "container" too, but I haven't played with them. 99% of the time when someone is talking about containers, there is a Linux host OS (kernel) involved. Also, the container image has metadata that indicates that platform architecture (ex: amd64, arm64, etc) because the executables are natively compiled for your processor type -- so when you "pull" a container image from a container registry, the client software (ex: docker) will ask the registry for the image that best matches your processor type.
      Containers best feature, in my opinion, is that they are nice prepackaged bundles (container images) that have all the dependencies baked in: so you aren't fiddling with the host OS and dealing with installing dependant libraries on the host.

    • @baileyharrison1030
      @baileyharrison1030 Рік тому +2

      @@beepbop6697Couldn’t that dependency issue be solved most the time by static linking?
      People in the industry often complain about statically linked executables having large file sizes but an equivalent docker image will probably take up even more disk space.

    • @jhboricua
      @jhboricua 6 місяців тому

      Actually, LXD/LXC containers are 'system containers' that run a full Os and you can manage them pretty much as if they were a physical machinie. Docker and Podman are 'Application Containers', meaning they usually package a single app.

  • @pigsweat7763
    @pigsweat7763 Рік тому +321

    i mentioned this once in a response to a comment already but just wanted to reiterate here....videos with no over-editing are so desperately needed here. no rage-inducing constant cuts or interjections of meme pictures and little annoying voices and sounds, no grating distracting background music, no terrible over-hyped voice, just a wonderfully soft spoken lad sharing knowledge. i know its a bit played out but i have to say it, your voice is ASMR worthy for sure. thanks again.

    • @coderized
      @coderized  Рік тому +15

      Haha thank you! Glad you like the style :)

    • @Sxsux
      @Sxsux Рік тому +7

      It's like you're reading from documents, but more concisely.

    • @ultimaxkom8728
      @ultimaxkom8728 Рік тому +1

      @@coderized Now that sweet ASMR praises has come and pass, let me criticize you on the sound: _you really should edit your wet sloppy sounds out, like many others._

    • @coderized
      @coderized  Рік тому +3

      @@ultimaxkom8728 🤤

    • @alionicle
      @alionicle 9 місяців тому

      another channel that fits the description is NoBoilerplate, love both channels

  • @sosaysthecaptain5580
    @sosaysthecaptain5580 Рік тому +39

    Great explanation.
    I'm still convinced that for most applications, Docker creates more problems than it solves. A friend of mine, qualified as an AWS consultant, for purposes of private advice adopts a principle of ec2 maximalism.

    • @lukemorris9857
      @lukemorris9857 Рік тому +1

      That doesn't surprise me at all, cloud VM solutions generally seem to be the current happy middle ground between agility, customisability and ease of use
      It wouldn't surprise me if containers quickly mature in the not so distant future to overtake this though, more sensible defaults alone would make the process less arduous in my opinion

    • @Netist_
      @Netist_ 11 місяців тому +10

      I am strongly of this opinion as well. I understand containers, I use them all the time, but in my opinion their use case is quite narrow. They solve a very specific problem, and they are NOT a panacea. In a desktop environment, they cause far more problems than they solve and I'm pretty fatigued by all the different solutions for containerized desktop applications that claim to finally be the one that gets it right. They all suck, and I intend to happily continue using my package manager and dynamically linked libraries.

  • @norbertvida_
    @norbertvida_ Рік тому +5

    I have been working with software for quite some time but never bothered to learn how docker works because it seemed too complicated for me. You managed to summerize it in a couple of minutes and now I will start using docker, thank you for that :D

  • @jortmungandr1112
    @jortmungandr1112 Рік тому +1

    Came here to better understand containers (having an issue mounting existing local storage to a nextcloud container), stayed for the subtle South park Moses reference.

  • @tabsc3489
    @tabsc3489 Рік тому +265

    Seriously underrated stuff, another awesome video. I didn't learn anything about containers during my CS degree so this was very informative and answered a lot of the common questions succinctly with a touch of humor that doesn't fail to make me smile. I hope many more find your channel and enjoy these vids as well!!!

    • @coderized
      @coderized  Рік тому +18

      Thank you for the comments Tabs - was really motivating to read this morning! I appreciate the feedback a lot :)

    • @nomathic7672
      @nomathic7672 Рік тому +4

      You likely did learn about hypervisors and operating systems fundamentals, though. These are all prerequisites to actually knowing how a container works and what it really is.

    • @w花b
      @w花b Рік тому

      ​@@nomathic7672 if it's just that then yeah

  • @henishshah6976
    @henishshah6976 Рік тому +9

    From the script to graphics and everything in between, its just perfect!

  • @tylerpohn8935
    @tylerpohn8935 8 місяців тому +4

    jr: "the container still doesn't work on my machine"
    sr: "well shit"

  • @luciv_
    @luciv_ 7 місяців тому

    U saved my life. I've been trying to understand for months what's a container and nobody explained it better as you. Thank you, really ^^

  • @manwithllama
    @manwithllama Рік тому +13

    This video is a master class in how to give someone an overview in something new. I’m blown away: ELI5 embodied.
    No background music. No cuts. A calm voice. Humor thrown in. Personality.
    You’ve achieved perfection. Keep doing these! ❤❤❤ And thank you!

  • @tomithyheil8374
    @tomithyheil8374 Рік тому +19

    i just started out as a software engineer and videos like this one help me out a LOT. The fun and well done animations and the informative but not too complicated script really make this a great vid!

  • @Babaelow
    @Babaelow 10 місяців тому +4

    The point is: one isnt supposed to containerized every application. It's only serverside stuff. Microsoft Office hasnt been successfully containerized. It needs indeed to be installed locally. At least Desktop Apps. And sometimes you need desktop versions of apps. It's becoming less, but not irrelevant.

  • @0xc0ffee_
    @0xc0ffee_ Рік тому +39

    I really hope you become famous... the quality of your videos are beyond belief! Keep it up!

  • @gabrielangelo4380
    @gabrielangelo4380 Рік тому +3

    This was the most didactic explanation about containers in a nutshell that I had seen. Congratulations and keep going !

  • @sumitpurohit8849
    @sumitpurohit8849 Рік тому +5

    Never understood docker and containerization completely. Thanks for making this video.

    • @MR-vj8dn
      @MR-vj8dn Рік тому +2

      Be sure to watch a few more videos about this subject though. What is said in this video it’s not the entire or the only truth.

  • @spamcolector
    @spamcolector Рік тому +10

    Amazing! As a software engineer, I’d like to say thank you from all beginners. This video is useless if you want to learn containers BUT it will be very helpful for those who don't understand why he has to learn it. Great job ❤

    • @coderized
      @coderized  Рік тому +1

      Thanks! Yeah my goal is to spread awareness and provide a little understanding rather than teach it specifically. I can recommend Techworld with Nana for learning the details :)

  • @bagheldevansh
    @bagheldevansh Рік тому +6

    2:21 i want my containers to be like that companion cube!

  • @NegInfinity
    @NegInfinity 9 місяців тому +2

    While it is understandable why containers exist, technically they encourage bloat. Instead of single program, people drag a whole OS.
    They also encourage to never fix the problems of underlying frameworks. For example, Python has issues with portability of final application and their deployment (especially on windows). This is solved via docker. But because it is solved via docker, python does not need to address the problems it has.

  • @kurt7020
    @kurt7020 Рік тому +21

    Mostly agree. There comes a tipping point however, when deploying a dedicated server becomes easier - and you can take maximum advantage of the underlying system. We also deploy things on various unix flavors (yes, unix, not linux). Docker is tied to the linux kernel. Pick your tools carefully. Great vid!

    • @slackingsource
      @slackingsource Рік тому +2

      I'm about to set up a NAS server at my job and I'm getting the impression that the only practical way to do that is on the hardware.

    • @jakedrake99
      @jakedrake99 Рік тому +1

      Hooray for FreeBSD jails!

    • @gg-gn3re
      @gg-gn3re 11 місяців тому +2

      Containers are useful because most software is messy piles of crap today that needs tons of things intertwined to look good. Many things however are still single monoliths

  • @neil_from_future
    @neil_from_future Рік тому +6

    Wow, this is amazing! I'm so glad youtube suggested this to me. You can tell how much work and passion went into this. I love it!

  • @arshitvaghasiya7317
    @arshitvaghasiya7317 Рік тому +6

    Great combination of animation + quality sound + minimal design + simple language 🔥

  • @geraltrivyan
    @geraltrivyan Рік тому +6

    I know enough about containerization and its importance, but just cant stop watching because how good this video is done!

  • @Windows__2000
    @Windows__2000 Рік тому +1

    I'm genuinely interested where you came from? You have no other channels listed, but you clearly had more experience than just one video until now. Great work!

    • @coderized
      @coderized  Рік тому +1

      Thanks, no other experience but a compliment that you think so!

  • @umbreonben
    @umbreonben Рік тому +2

    Im already familiar with Docker but I really love this video! Subbed :)

  • @MrXIndependent
    @MrXIndependent Рік тому +8

    This is the first time I've ever demonstrably understood what containers are and how they work. Thank you very much for your work and your video!

  • @hiibolt
    @hiibolt Рік тому +11

    Fantastic video!
    I use Nix Flakes, however, this perfectly illustrates why solutions like these are so important! People don't understand how bad dependency hell is until they've experienced it, more people need to understand how much easier this makes life.

    • @huantian
      @huantian Рік тому +2

      Was scrolling through the comments to find the other Nix users, glad to see others enjoying the best tool for this job 😎

    • @BrotherCheng
      @BrotherCheng Рік тому +3

      I think one issue I have with over-reliance on containers is that it traps you into a "contain/virtualize everything" mindset instead of properly understanding your dependencies or fixing more serious issues in your architecture. Using containers are not the end of the world but I do think it adds bloat (size, iteration time, etc) if it's not necessary to use it to begin with. Containers is very useful, of course, but it's not a panacea, and sometimes I feel that people who are used to it just default to using it without thinking through the pros/cons.

    • @angeldude101
      @angeldude101 Рік тому +2

      Nix seems to be much more granular than most containers. Rather than using a standard pre-configured distro running on top of your primary OS, Nix, using much simpler features, gives you exactly the dependencies you asked for, and _only_ the dependencies you asked for. And then it tries to share as much as it can prove is safe between different environments, which it can get away with because it relies more on path variables than a fixed filesystem hierarchy.
      It's honestly something of a shame that containers and other immutable systems get all the hype, while Nix uses a completely different (arguably better) approach to solve the same problems.

    • @BrotherCheng
      @BrotherCheng Рік тому +1

      @@angeldude101 Yeah. I think this "just use containers for everything" trend and also newer binary app distribution formats like Flatpak have some of the same traits. They essentially say "we don't want to solve the problem of creating a deterministic system", and so we over-virtualize (I'm using the word "virtualize" in a general sense) and re-duplicate everything and call it a day. It does work, but I'm not sure if it's really the best solution. I guess sometimes, the mediocre solution that works well enough and is easy to deploy tends to win.

    • @hiibolt
      @hiibolt Рік тому +1

      @@angeldude101 TOTALLY agree. I think many are put off by the idea of learning a new language (Nix), but then go learn Dockerfile anyway.
      Nix's approach is easily the best, I 100% agree. Flakes further perfect the concept as well.

  • @creativecraving
    @creativecraving Рік тому +4

    Thank you for the work you've done to make your audio cleaner. ❤ I know it's a real struggle for a small studio.

  • @jeffh4581
    @jeffh4581 Рік тому +1

    Extremely high quality, this. Well done!

  • @standbyDtH
    @standbyDtH 9 місяців тому +1

    10/10 quality content. Naration, animations, production, script, etc. Really well done

  • @methanesulfonic
    @methanesulfonic Рік тому +4

    You ONLY have 2 videos on the whole channel and with this much quality?? I'm betting you'd get 100k subs this year alone

  • @63avtar
    @63avtar Рік тому +76

    I’m most definitely a visual learner, you’re animations combined with your easy to understand explanations really helped me understand this concept, thanks! I appreciate the small bits of humour too to keep the video engaging, keep up the amazing work!

    • @joshuahampl
      @joshuahampl Рік тому

      ua-cam.com/video/rhgwIhB58PA/v-deo.html

  • @1H4NDC14PP1N6
    @1H4NDC14PP1N6 Рік тому +4

    Wow, beautiful video and the best description of containers I've found! I finally feel like I understand what they do and are used for, and after only 6 minutes! Incredible work

  • @vassdeniss634
    @vassdeniss634 Рік тому +2

    Ill soon dive into devops and this video made me very excited, amazingly well done!

  • @RamirezGold
    @RamirezGold 10 місяців тому +1

    touch banana is actually my favourite command

  • @Gunzy83
    @Gunzy83 Рік тому +11

    Great video. Glad someone is doing these introduction videos.
    Just wanted to point out that in production containers are much closer to native than VMs in terms of overhead (perhaps 1% overhead at max). Most slowness people experience is due to the default overlay filesystem that is awful and you wouldn't be caught dead using on a production system.

    • @johnathanrice3569
      @johnathanrice3569 Рік тому

      Well for one, that’s not a fair test because you’re giving one machine two kernels to run. Guess what’s even faster than containers multiple processes which again all share the same kernel, but without the overhead. take snapshots of your production machines and I don’t see what containers are really simplified other than making it impossible to fix things quickly quickly

  • @the-random-on3
    @the-random-on3 Рік тому +10

    I love this video. The smooth animations, clean sound, perfect English pronunciation. Everything is so soothing!
    I guess I should also mention the explanation was very clear and simple, but while there are many informative videos on this site, few are this pleasing to watch. I already knew most of the stuff this video explained when I clicked on it, but I still watched it all because of how good it looked.

  • @fortress5493
    @fortress5493 Рік тому +5

    Super intuitive, i like the conbination of animation, text and voice information. I hope you keep posting such videos and succeed in what you do

  • @graym4002
    @graym4002 Рік тому

    ive been annoyed at not understanding containers for the longest time, and this video singlehandedly fixed that. thank you so much for this

  • @RinksRides
    @RinksRides Рік тому +1

    Simple to understand. No stupid BGM. Liked and Subscribed.

  • @sauss4472
    @sauss4472 Рік тому +6

    Now this is what we call a BANGER ! Simple , straight and succinct yet perfectly answered the kinda questions required to try gain understanding of these topics. Thank you so much 😊 🙏

  • @anyonetube
    @anyonetube 11 місяців тому +3

    i think this type of videos needs to be used for all education reasons (what software you used to make this) thank you for taking the world better

    • @coderized
      @coderized  11 місяців тому

      Software info in discord

  • @yorha.a2
    @yorha.a2 Рік тому +4

    Subscribed; you explained in 5 minutes what my lecturer couldn't in 2 hours

  • @henishshah6976
    @henishshah6976 Рік тому +2

    This was the first video that I saw on this channel and I have already subscribed.

  • @MohitAgarwal-g6i
    @MohitAgarwal-g6i Рік тому

    I dont usually comment. But the whole flow and the level of information was perfect. Not too deep, not too shallow. Cheers!

  • @nickofthyme
    @nickofthyme Рік тому +12

    Great video, keep it up! I always thought that running in docker was consistent across all instances but this is not always the case, particularly when running across different CPU architectures (i.e. arm64, amd64, etc.) where the images use different underlying binaries. The difference is typically small and likely unnoticeable depending on the task.

    • @coderized
      @coderized  Рік тому +3

      Yeah different arches definitely need to be considered, nice addition. Maybe I'll make a part 2 someday

  • @thedanyesful
    @thedanyesful Рік тому +9

    Wow this is a great video. I like how you started out with absolutely uncontroversial basics but made it concise and engaging. This is the type of thing that we can link to people with a casual interest and have them get something out of it, but at the same time allows us to learn some good details ourselves.

    • @johnathanrice3569
      @johnathanrice3569 Рік тому +1

      There’s nothing faster than running on bare metal. There’s no reason why you need multiple containers sharing a kernel, when instead you can have multiple processes that share the same kernel. … other than that you want to add a layer of emulation in between. You can run 65,535 Webb servers on a single machine with one NIC

  • @coup460
    @coup460 Рік тому +8

    You definitely should be able to make these full time, these are incredible :)

  • @clinto2861
    @clinto2861 Рік тому +2

    just love the way you describe concepts

  • @huzaifanaseerkhan
    @huzaifanaseerkhan Рік тому +1

    So glad I discovered this channel!

  • @MsGordon01
    @MsGordon01 Рік тому +32

    Thanks for a great video! Would you also make one about Nix and maybe NixOS? People sometimes mistakenly use containers for making a reproducible coding environment, which is not always great. Nix solves this problem in a much lightweight way.
    Love that you've answered my comment in Russian in the previous video)

    • @coderized
      @coderized  Рік тому +6

      Great suggestion, cпасибо, я посмотрю)

    • @Gunzy83
      @Gunzy83 Рік тому +4

      I think the overhead of containers is vastly overstated. Most of the opinions of slowness come from docker for Mac and default overlay filesystem use. If containers had as much overhead in production as people say kubernetes would be a non starter.
      Nix is still is not there when it comes to documentation to get started beyond simple help world setups. I can see the power but when you can spend hours trying to get a flake working with specific versions and have it still not work and then spend an hour getting up asdf tool versions and a go-task Taskfile for the same result (not to mention the vast difference in ease of onboarding other team members), Nix is just not ready for mainstream use.

    • @junwu22
      @junwu22 Рік тому +1

      Nix is pretty neat but has a really steep curve that isn't worth for everybody, even more with nixos

  • @asdfghyter
    @asdfghyter Рік тому +13

    an alternative to containers is to use something like nix or nixos, which puts all packages in unique input-addressed paths and only ever uses explicit full paths to all dependencies, which means you can install however many versions of a package as you want without any risk of conflicts. all builds are deterministic and reproducible and derived from a single expression in the nix language. with nixos you can even configure an entire operating system using just a single file, from which everything is derived. you can also always rollback any change you’ve made, because updates are atomic and the previous version is kept until you garbage-collect them. you can even build docker images from a nix expression, as a more declarative alternative to the procedural docker files. there is also the concept of a dev shell, which allows any developer to easily get a shell with all tools of the correct versions they need for your project available natively (without any conflict with what you have already installed locally)

    • @yuuko6264
      @yuuko6264 Рік тому +3

      in fact, cramming a given nix closure (for curious readers, that's just a fancy term for a store path & the paths it depends on) in a container is significantly closer to the original minimal-environment vision of containers as opposed to the typical start-off-by-pulling-in-ubuntu monstrosity that a given app's official docker image has a good chance of being. not entirely clear on what cursed politics gave us the world in which "distroless" containers are some wacky revolutionary idea rather than the norm but hey lol.

    • @XxZeldaxXXxLinkxX
      @XxZeldaxXXxLinkxX 10 місяців тому

      nix gang RISE UP

  • @DavidWeberRepair
    @DavidWeberRepair Рік тому +4

    Not only is this a great video, but the visuals and animations are the cherry on top! Definitely kept my monkey brain entertained while learning something new. Well done, I just subbed and looking forward to watching more in the near future! 😄

  • @omarhamad
    @omarhamad Рік тому +1

    i love the voice over, how you present the info, just as good as it's

  • @NeonGenesisRevelations
    @NeonGenesisRevelations Рік тому +2

    Had to stop at 1:18. Dude, the kernel animation. I require... popcorn necklaces & macaroni pictures.

    • @coderized
      @coderized  Рік тому

      Clearly you've never seen Tron

  • @thatguy5233
    @thatguy5233 Рік тому +45

    so why are we supposed to never install locally. was it even mentioned in this video?

    • @thatguy5233
      @thatguy5233 Рік тому +9

      @@Bobo-ox7fj huh? i think you missed my point. look at the title of the video. it's so misleading, just perfect clickbait example yet noone mentions it, like it's fine. he definitely knew what he was doing. my last comment, i'm not giving this shameless ytber more attention.

    • @vetricanthbarrhead3055
      @vetricanthbarrhead3055 8 місяців тому +4

      Lets learn some media literacy!
      Why would someone say "don't install locally" then run through common issues like the too common "it works on my machine" ?
      That's right, because they're implying using docker images to do installation stuff so that you don't have issues when deploying! Look at you, learning so fast

    • @lunchbox1553
      @lunchbox1553 7 місяців тому +4

      ​@@thatguy5233 It's not misleading, it makes sense to a developer, so if you weren't able to connect the dots, then you probably don't need to worry about it in the first place.

  • @oglothenerd
    @oglothenerd 9 місяців тому +3

    [4:20] "touch banana"

    • @coderized
      @coderized  9 місяців тому +2

      Coincidence? Or conspiracy? 🤔😆

    • @oglothenerd
      @oglothenerd 9 місяців тому +1

      @@coderized Touching a banana. ;)

  • @AlexanderTrefz
    @AlexanderTrefz Рік тому +5

    Always install locally, it is a million times faster than all of the awful container solutions available and things are not that hard.

  • @undefined4277
    @undefined4277 Рік тому +4

    that tron reference is immaculate how did no one else see that

    • @coderized
      @coderized  Рік тому +1

      Yess! Hardly anyone got it, as you said. Maybe most viewers are too young. Tron was always one of my favourite movies growing up.

    • @undefined4277
      @undefined4277 Рік тому +2

      @@coderized hell yeah man. im a big fan of tron, even though i am pretty young. ranked 1# movie in my book. i loved the new one and the old version

    • @coderized
      @coderized  Рік тому +1

      @@undefined4277 You're my new favourite person ;)

  • @oskarsmit9253
    @oskarsmit9253 Рік тому

    After having watched multiple videos on this subject this is visually one of the best and most concise. Thank you

  • @PatrickAlphaC
    @PatrickAlphaC 2 місяці тому +1

    What do you use to animate? They are so clean.

  • @ztokkiz
    @ztokkiz Рік тому +41

    This guy just simply explained docker in 5 minutes. Flawlessly.

    • @rarespetrusamartean5433
      @rarespetrusamartean5433 Рік тому

      Not really, he didn't cover...A LOT...like the UEFI settings you need to run one etc

    • @myrusEW
      @myrusEW Рік тому

      @@rarespetrusamartean5433shut up

  • @ajbrady4357
    @ajbrady4357 Рік тому +5

    Holy animation style

  • @foro1
    @foro1 Рік тому +4

    Excellent video. Enjoyed it 🤙

  • @drewc3655
    @drewc3655 Рік тому +1

    Dude! great vid, animation, naration, content and flow are all on point!

  • @MR-vj8dn
    @MR-vj8dn Рік тому +1

    Containers won’t solve much but often just move the problem at the cost of performance and added complexity.
    I run much as possible locally.

  • @animationmann
    @animationmann Рік тому +3

    Your really a Hidden Gem my Man hopefully you get blessed by the Algorythm

  • @adityamore9435
    @adityamore9435 Рік тому +7

    Really appreciate your efforts you have put into this video. Kudos! I can't imagine how much time it must have taken for those fun and exquisite animations 😅

  • @ChristianBrugger
    @ChristianBrugger Рік тому +11

    This video is unfortunately not going deep enough. While the narrative is important, it misses addressing solutions to the most common problems people encounter. I see a lot of people dismissing those in the comments as not real, while missing the point. I think most people are now aware of the benefits of using docker. The real challenge is addressing the many problems that arose very quickly when implementing the solution. I would love to hear more.

  • @RuanBekker
    @RuanBekker Рік тому +2

    Your presentation quality is off the charts!! Well done!

  • @victorvsl
    @victorvsl Рік тому +2

    Cool channel! It's nice to see some refreshing content in my recommend feed.

  • @Slade0120
    @Slade0120 Рік тому +5

    Me and a colleague have been overhauling our entire development process using docker. From automated testing, to deployment and even the apps themselves, everything is running docker now. Honestly such a brilliant tech.

  • @earthling_parth
    @earthling_parth Рік тому +6

    2:22 Instantly subscribed when I saw the reference of the companion cube from Portal games and obviously extremely succinct and accurate information on containers ❤

    • @fuzzy-02
      @fuzzy-02 9 місяців тому

      Bro, I almost thought it was a terraria pet reference. Then rememberred that it was added as reference to the companion cube and I was like... "poonter of pointer of"

  • @BigVirusBoi
    @BigVirusBoi Рік тому +4

    thanks for making this video

  • @HuckFlynn
    @HuckFlynn Рік тому +2

    You snuck the MCP in there? Very nice -- subbed. ;)

    • @coderized
      @coderized  Рік тому

      And does your username also contain a Tron reference? :)

  • @devstate
    @devstate Рік тому +1

    Wow this video is amazing! Thank you man, you killed it ❤🎉 I like the way you talk, so calm and easy :))

  • @rotteegher39
    @rotteegher39 Рік тому +4

    nobody:
    the kernel: 🗿
    1:10

    • @coderized
      @coderized  Рік тому +1

      Extra points if you knew it was the MCP from Tron

  • @AlexanderGarzon
    @AlexanderGarzon Рік тому +4

    I'm kinda of expert already with docker (using it for several years now), and this video did not teach me anything in particular.... but OMG, the way you presented and exposed the concepts is just the BEST video I EVER watched for containers introduction!!. I loved it.

    • @coderized
      @coderized  Рік тому

      Thanks for watching regardless Alexander! Glad you enjoyed it :)

  • @The-KP
    @The-KP Рік тому +8

    Docker *IS* a full-blown VM for hosting your containers, in and of itself. Containers look like a "minimal filesystem" because they contain only the executables and data needed for your app. But the heavy lifting to provide the kernel and kernel modules that are absolutely necessary to run your container, that is hidden from view (when logged into a running container). You get the general idea of this when looking at the Docker files on the host filesystem under /var/lib/docker. Nearly a GB. That's obviously more than an interface to the host OS. It needs to be a VM to provide an identical environment for your containers across Linux, Windows and OSX.

  • @AlexanderPoznanski
    @AlexanderPoznanski Рік тому +2

    Good explanation! Thank you!

  • @PatrickKalinowski
    @PatrickKalinowski Рік тому

    You made this explanation crystal clear. This is will be the video I send to people that ask what docker containers are.