Never install locally

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 มิ.ย. 2024
  • 💜 Support the channel and get some nice perks:
    🔗 / coderized
    🗣️ Discord is now available, come chat!
    🔗 / discord
    ---
    Containers are a game-changing tool for app development and deployment, offering isolated, portable environments that include code, libraries, and OS. Unlike virtual machines (VMs), containers are lightweight and share the host system's kernel, making them faster and more resource-efficient.
    Developers benefit from containers as they allow working in multiple environments simultaneously without compromising the local machine. This ensures compatibility across different machines and platforms, eliminating the "it works on my machine" issue.
    Docker is a popular container platform that uses overlapping layers to form container images. These images can be extended from any previous image or layer, with numerous pre-made base images available for various requirements.
    Using a Dockerfile, developers can add commands to generate new file system layers or metadata layers. Multiple containers can run from a single image, with each container having its dedicated file system layer that persists until the container is deleted.
    Containers can communicate easily, and when an app is ready for deployment, it can be tagged with a unique version and published to a container registry. Modern cloud platforms offer built-in support for deploying containers, or you can install a compatible container runtime on your machine for more control.
    Container orchestration platforms like Kubernetes enable the creation of container-based clouds, providing even greater flexibility and control in app development and deployment.
    ---
    In the video, I cover:
    - Understand containers and their benefits for developers
    - Compare VMs and containers, and their resource usage
    - Maintain multiple environments with containers to avoid conflicts
    - Solve the "it works on my machine" problem with container consistency
    - Explore container images, Dockerfiles, and overlapping layers
    - Use pre-made and officially supported base images for projects
    - Create and run containers using Docker as a container platform
    - Communicate between containers through virtualized network layers
    - Tag and publish container images to registries for storage
    - Deploy containers using cloud platforms or compatible runtimes
    - Utilize container orchestration with Kubernetes for advanced deployments
    ---
    Additions:
    Despite me presenting it as so, containers don't contain a true OS in the full 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, but there are some differences.
    If you use VSCode, check out "Dev Containers" - they are an awesome way to integrate your IDE into dedicated containerized development environments with just a single click.
    Sharing a Kernel with the host does come with some potential drawbacks. Most importantly is that containers would be more vulnerable to attack than VMs should the host machine be compromised. However, containers are heavily used in many large-scale production environments and security can be hardened against such attacks, so it's definitely not a bigger concern than keeping software secure in general.
    ---
    00:00 - Introduction to Containers
    00:24 - Coderized
    00:27 - Containers vs. VMs
    01:09 - The Role of the Kernel
    01:32 - Benefits for Developers
    01:58 - Works on My Machine...
    02:19 - Creating a Container of Your Own
    02:34 - Container Images and Filesystem Layers
    02:47 - Banana
    02:53 - Layers in Container Images
    03:28 - Dockerfile example
    03:42 - Container Runtime Changes and Persistence
    04:09 - Accessing Running Containers
    04:22 - Communication Between Containers
    04:30 - Tagging and Publishing Container Images
    04:51 - Deployment Options and Cloud Platforms
    05:14 - Container Orchestration with Kubernetes
    05:29 - Ending and Support
    #devops #containerization #docker #dockercontainer #dockertutorial #dockertutorials #dockerimage #cloudcomputing #cleancode #programming #code #coder #coding #programmingtips #vscode #container #containerregistry #containerruntime
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 2K

  • @UrSoMeanBoss
    @UrSoMeanBoss ปีที่แล้ว +2679

    dev: "It works on my machine"
    docker: "Then we'll ship your machine"

    • @pequod4557
      @pequod4557 3 หลายเดือนก่อน +65

      Nice one, funny internet user.

    • @Robluex
      @Robluex 3 หลายเดือนก่อน +44

      Funny how instead of fixing the issue of 'doesn't work on clients PC', we pretend the non-ideal bypass is an actual solution.

    • @charactername263
      @charactername263 2 หลายเดือนก่อน +15

      @@Robluex But deploying containers is a significantly preferable solution over trying to produce an installer that will account for multiple poorly configured customer server setups. It saves a lot of money. The greatest argument though, is that when you need to be able to rapidly increase the bandwidth in line with rising CCUs, having a containerised deployment means you can pretty much instantly bring online more capacity. It also lets you rapidly deploy hotfixes or updates, being able to know with comfort that some external dependency wont scew you.

    • @Robluex
      @Robluex 2 หลายเดือนก่อน +16

      @@charactername263 my point was that we never bothered fixing the architectural issue of computers. Having that fixed would save everyone time and money in the long run. Containerization is a short-time bypass. It’s not a better solution, as instead of native, you have to run containers, but it saved everyone resources to try and fix the “must be your pc” problem.

    • @dovi3816
      @dovi3816 2 หลายเดือนก่อน +12

      ⁠@@Robluexthat is because the “it works on my machine” problem is not always caused by an architectural issue. Having a different, let’s say, JDK version installed on a developer machine can lead to subtle different outputs in a program that works with timestamps.

  • @zen5066
    @zen5066 8 หลายเดือนก่อน +1482

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

    • @untitled6087
      @untitled6087 3 หลายเดือนก่อน +27

      straight out of portal 2

    • @eliokuster4915
      @eliokuster4915 3 หลายเดือนก่อน +3

      Yeah for real, had the same thought.

    • @kleiner851
      @kleiner851 2 หลายเดือนก่อน +7

      @@untitled6087 we love exploded diagrams

    • @skidadle5473
      @skidadle5473 2 หลายเดือนก่อน +35

      "pulled the hardest banana"

    • @Zoooooooooooo
      @Zoooooooooooo หลายเดือนก่อน +2

      a hard banana you say

  • @shoebilyas5368
    @shoebilyas5368 5 หลายเดือนก่อน +318

    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 29 วันที่ผ่านมา +1

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

  • @amirhoseinniknezhad112
    @amirhoseinniknezhad112 11 หลายเดือนก่อน +684

    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  11 หลายเดือนก่อน +18

      Thank you!

    • @ArthurKhazbs
      @ArthurKhazbs 8 หลายเดือนก่อน +9

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

    • @AMindInOverdrive
      @AMindInOverdrive 6 หลายเดือนก่อน +2

      that was very nice of you to comment like that 🙂

    • @habeebmohamed4718
      @habeebmohamed4718 5 หลายเดือนก่อน

      this sounds like an insult

  • @Eurotool
    @Eurotool ปีที่แล้ว +5319

    This channel is like 3blue1brown and Fireship had a baby

  • @coderized
    @coderized  ปีที่แล้ว +230

    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 a 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  ปีที่แล้ว +4

      @@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 ปีที่แล้ว +4

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

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

      @@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

  • @moonlambo5229
    @moonlambo5229 8 หลายเดือนก่อน +85

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

  • @manavkhandurie3591
    @manavkhandurie3591 10 หลายเดือนก่อน +168

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

  • @ymi_yugy3133
    @ymi_yugy3133 ปีที่แล้ว +2016

    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  ปีที่แล้ว +294

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

    • @nandomax3
      @nandomax3 ปีที่แล้ว +101

      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 ปีที่แล้ว +241

      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 ปีที่แล้ว +30

      @@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 ปีที่แล้ว +76

      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

  • @plica06
    @plica06 2 หลายเดือนก่อน +167

    Didn't really explain WHY to never install locally.

    • @howdarethee
      @howdarethee หลายเดือนก่อน +9

      Because you can install/run on docker

    • @tilakadroja
      @tilakadroja หลายเดือนก่อน +13

      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 หลายเดือนก่อน +1

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

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

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

    • @madarah8533
      @madarah8533 27 วันที่ผ่านมา

      ​@@mythbunkers4716 mac is very similar to linux anyway

  • @FelipeCampelo0
    @FelipeCampelo0 4 หลายเดือนก่อน +13

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

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

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

    • @xLTxFire
      @xLTxFire 19 วันที่ผ่านมา +1

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

  • @beepbop6697
    @beepbop6697 ปีที่แล้ว +27

    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 ปีที่แล้ว +11

      @@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 9 หลายเดือนก่อน +1

      @@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 หลายเดือนก่อน

      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.

  • @Ermude10
    @Ermude10 ปีที่แล้ว +31

    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!

  • @sosaysthecaptain5580
    @sosaysthecaptain5580 ปีที่แล้ว +33

    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 ปีที่แล้ว

      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_ 5 หลายเดือนก่อน +7

      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.

  • @sodiqayilara1519
    @sodiqayilara1519 ปีที่แล้ว +10

    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.

  • @sufilevy
    @sufilevy ปีที่แล้ว +520

    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.

  • @pigsweat7763
    @pigsweat7763 ปีที่แล้ว +300

    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  ปีที่แล้ว +16

      Haha thank you! Glad you like the style :)

    • @Sxsux
      @Sxsux ปีที่แล้ว +8

      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 3 หลายเดือนก่อน

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

  • @bluepomodoro3679
    @bluepomodoro3679 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!!

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

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

  • @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 9 หลายเดือนก่อน +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.

  • @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 😊 🙏

  • @norbertvida_
    @norbertvida_ 9 หลายเดือนก่อน +4

    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

  • @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!

  • @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!

  • @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

  • @luciv_
    @luciv_ 2 หลายเดือนก่อน

    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 ^^

  • @arshitvaghasiya7317
    @arshitvaghasiya7317 10 หลายเดือนก่อน +6

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

  • @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 9 หลายเดือนก่อน +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

  • @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.

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

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

  • @Aly-l-Axy
    @Aly-l-Axy ปีที่แล้ว +2

    I'm loving your content so far. I can barely wait for your updates. Excellent work, and thank you for the videos 💚

  • @tabsc3489
    @tabsc3489 ปีที่แล้ว +264

    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.

  • @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

  • @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 3 หลายเดือนก่อน

      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"

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

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

    • @MR-vj8dn
      @MR-vj8dn 10 หลายเดือนก่อน +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.

  • @0xc0ffee_
    @0xc0ffee_ ปีที่แล้ว +39

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

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

      Thanks Patryk! 💜

  • @coup460
    @coup460 ปีที่แล้ว +8

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

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

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

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

    just love the way you describe concepts

  • @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 😅

  • @ornato-t
    @ornato-t ปีที่แล้ว +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.

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

      Thank you Tommaso!

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

    Beautifully explained and amazingly illustrated and animated, thank you for your time and effort

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

    This is a really well made video!
    also the last one was pretty good, the animations are clear, simplistic and expressive.
    the explanation is good.
    all in all: im looking forward for new videos from you

  • @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! 😄

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

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

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

      Thanks Geralt!

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

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

  • @moon0xcoder
    @moon0xcoder 9 หลายเดือนก่อน +1

    Great video :). I've been playing around with Docker lately and your video helped my out to better understand how containers work. Ty very much! (I loved the graphics btw)

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

    This video is insanely well made, and the topic is really well-explained - instant sub!

  • @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

  • @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!

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

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

  • @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!

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

    "...but that's a VM!" made me smile and even subscribe!
    Thanks a lot for the content🙏🙏

  • @oskarsmit9253
    @oskarsmit9253 8 หลายเดือนก่อน

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

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

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

  • @rnbpl
    @rnbpl 3 หลายเดือนก่อน +3

    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 3 หลายเดือนก่อน +1

      the hubris of mankind will know no bounds

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

    Im so impressed with how many LOTR refrences you put in that dockerfile part. 9731 is sneaky!

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

      Very happy someone noticed that 😄

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

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

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

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

  • @ztokkiz
    @ztokkiz 10 หลายเดือนก่อน +41

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

    • @rarespetrusamartean5433
      @rarespetrusamartean5433 9 หลายเดือนก่อน

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

    • @myrusEW
      @myrusEW 9 หลายเดือนก่อน

      @@rarespetrusamartean5433shut up

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

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

  • @tylerpohn8935
    @tylerpohn8935 3 หลายเดือนก่อน +2

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

  • @raiden631
    @raiden631 3 หลายเดือนก่อน

    Love the energy of the video. It is easy to follow, informative and animated in such a way that keeps our attention going!
    Keep it up. Thanks ☺️

  • @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

  • @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 9 หลายเดือนก่อน

      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

  • @huzaifanaseerkhan
    @huzaifanaseerkhan 8 หลายเดือนก่อน +1

    So glad I discovered this channel!

  • @Ameliaray.
    @Ameliaray. 3 หลายเดือนก่อน

    This video was recommended to me and is high quality nice work subscribed!

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

    Awesome video, never really learnt about docker and containers but they seem very interesting, will definitely be playing around with them now

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

      I hope you find them as useful as I have over the years!

  • @spamcolector
    @spamcolector ปีที่แล้ว +9

    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 :)

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

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

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

    That was a quality video with a simple explanation. I hope you keep making these.

  • @yorha.a2
    @yorha.a2 ปีที่แล้ว +4

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

  • @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 9 หลายเดือนก่อน

      th-cam.com/video/rhgwIhB58PA/w-d-xo.html

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

    Extremely high quality, this. Well done!

  • @standbyDtH
    @standbyDtH 3 หลายเดือนก่อน +1

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

    • @coderized
      @coderized  3 หลายเดือนก่อน

      Thanks! 😊

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

    Excellent video. Enjoyed it 🤙

  • @thatguy5233
    @thatguy5233 8 หลายเดือนก่อน +23

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

    • @Bobo-ox7fj
      @Bobo-ox7fj 7 หลายเดือนก่อน +7

      Because the software is so poorly written that it can only run on a system that can instantly throw out a crash and start over without losing work 😬

    • @thatguy5233
      @thatguy5233 7 หลายเดือนก่อน +5

      @@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 2 หลายเดือนก่อน +2

      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 หลายเดือนก่อน

      ​@@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.

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

    This video was great, I now actually understand what a container is after struggling to understand for a while. I can now start to see where I might be able to use them in my own projects

  • @user-kl4rd
    @user-kl4rd ปีที่แล้ว +1

    Oh my gosh these videos are stunningly amazing. You’re so talented I assumed you’d been doing this for years, but I was surprised to see you only have one other which I’ve already seen lol.
    Your work is amazing, but how did you gain so much traction so quickly?! Regardless I’m so happy for you that you have gained so much traction!

  • @PoloEstudios
    @PoloEstudios 8 หลายเดือนก่อน +3

    hell yeah let's keep adding layers to the already falling apart cake.

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

    Holy animation style

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

    Best simplified overview explanation for containers.

  • @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!

  • @anyonetube
    @anyonetube 5 หลายเดือนก่อน +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  5 หลายเดือนก่อน

      Software info in discord

  • @kurt7020
    @kurt7020 ปีที่แล้ว +22

    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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +1

      Hooray for FreeBSD jails!

    • @gg-gn3re
      @gg-gn3re 5 หลายเดือนก่อน +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

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

    One of the best channels I keep coming back and checking for the new ones.
    This video is fantastic as I keeps having issue managing my local app versions.
    I hope this one could be more pratical such as showing some practical examples of managing those docker images.
    Awesome content XD

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

      Thanks I'll consider some practical examples to accompany these informative types for the future :)

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

    Absolutely brilliant video, presentation, and explanation. Really helped me understand! Thanks, coderized!

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

    thanks for making this video

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

    Great video. I really loved the animation.

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

    Once again, great content. I'm rooting for you.

  • @graym4002
    @graym4002 7 หลายเดือนก่อน

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

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

    "the kernel.... close enough" - I'm so old that that made me laugh. :)

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

    This video is so informative and cool!
    If you don't mind me asking, what tools do you use to create your videos? They're amazing 👍

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

      Thank you! Info on the video process is in the Discord :)

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

    This is the best intro to containers a beginner can have. Love this video.

  • @kvk812
    @kvk812 3 หลายเดือนก่อน

    Damn. I was actually having a bit of trouble understanding this concept but your video clarified everything for me. Thank you so much. Amazing video!

  • @asdfghyter
    @asdfghyter 9 หลายเดือนก่อน +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 6 หลายเดือนก่อน +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 4 หลายเดือนก่อน

      nix gang RISE UP

  • @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 11 หลายเดือนก่อน +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 9 หลายเดือนก่อน +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 9 หลายเดือนก่อน +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 8 หลายเดือนก่อน +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.

  • @serg_sel7526
    @serg_sel7526 2 หลายเดือนก่อน +1

    1:59 now we are starting to feel the true force of "It works in my container"

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

    First time watching your content,i immediately subs for you.