Never install locally

2024 ж. 19 Мам.
1 625 797 Рет қаралды

💜 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

Пікірлер
  • dev: "It works on my machine" docker: "Then we'll ship your machine"

    @UrSoMeanBoss@UrSoMeanBoss Жыл бұрын
    • Nice one, funny internet user.

      @pequod4557@pequod45572 ай бұрын
    • Funny how instead of fixing the issue of 'doesn't work on clients PC', we pretend the non-ideal bypass is an actual solution.

      @Robluex@Robluex2 ай бұрын
    • @@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.

      @charactername263@charactername2632 ай бұрын
    • @@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.

      @Robluex@Robluex2 ай бұрын
    • ⁠@@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.

      @dovi3816@dovi38162 ай бұрын
  • He said "badly demonstrated banana", pulled the hardest banana animation to date and thought we wouldn't notice.

    @zen5066@zen50667 ай бұрын
    • straight out of portal 2

      @untitled6087@untitled60872 ай бұрын
    • Yeah for real, had the same thought.

      @eliokuster4915@eliokuster49152 ай бұрын
    • @@untitled6087 we love exploded diagrams

      @kleiner851@kleiner8512 ай бұрын
    • "pulled the hardest banana"

      @skidadle5473@skidadle54732 ай бұрын
    • a hard banana you say

      @Zoooooooooooo@ZooooooooooooАй бұрын
  • 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.

    @shoebilyas5368@shoebilyas53684 ай бұрын
    • A brief and no bs comment for somebody who wants a quick "review" of the video before committing to watching it; thanks.

      @hamdanmahmood346@hamdanmahmood34612 күн бұрын
  • 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.

    @amirhoseinniknezhad112@amirhoseinniknezhad11210 ай бұрын
    • Thank you!

      @coderized@coderized10 ай бұрын
    • Yes! And the animation does an amazing job conveying the ideas in great detail. The author is clearly a genius.

      @ArthurKhazbs@ArthurKhazbs7 ай бұрын
    • that was very nice of you to comment like that 🙂

      @AMindInOverdrive@AMindInOverdrive5 ай бұрын
    • this sounds like an insult

      @habeebmohamed4718@habeebmohamed47185 ай бұрын
  • This channel is like 3blue1brown and Fireship had a baby

    @Eurotool@Eurotool Жыл бұрын
    • Haha, love this!

      @coderized@coderized Жыл бұрын
    • Agree)

      @MsGordon01@MsGordon01 Жыл бұрын
    • This is so true

      @shreyasd4663@shreyasd4663 Жыл бұрын
    • It's strangely really accurate

      @RisingSunLightRSL@RisingSunLightRSL Жыл бұрын
    • I was literally just thinking that. I’m obsessed

      @luigibattaglioli6026@luigibattaglioli6026 Жыл бұрын
  • 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..

    @ymi_yugy3133@ymi_yugy3133 Жыл бұрын
    • Thanks for the additions although not all this is correct. It's explained well below, by others.

      @coderized@coderized Жыл бұрын
    • 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

      @nandomax3@nandomax3 Жыл бұрын
    • 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.

      @thom1218@thom1218 Жыл бұрын
    • @@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.

      @NicolaiNita@NicolaiNita Жыл бұрын
    • 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

      @MrVecheater@MrVecheater Жыл бұрын
  • This video is a triumph of minimalism and simplicity. Amazing job!

    @moonlambo5229@moonlambo52298 ай бұрын
  • I m mesmerized by the production , the sound , the animations , the content , the everything. Keep up the good work

    @manavkhandurie3591@manavkhandurie359110 ай бұрын
  • 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.

    @coderized@coderized Жыл бұрын
    • VSCode is not an IDE?! o.o

      @8jjiyu654@8jjiyu654 Жыл бұрын
    • @@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!

      @coderized@coderized Жыл бұрын
    • "if you use VSC" as if 99% of all developers ever aren't using vsc bruhhhh

      @BusinessWolf1@BusinessWolf1 Жыл бұрын
    • @@8jjiyu654 It is, why? 🤔

      @coderized@coderized Жыл бұрын
    • @@coderized I am not an experienced programmer. I had heard that VSCode isn't an IDE. How's it otherwise for you? O.o

      @8jjiyu654@8jjiyu654 Жыл бұрын
  • 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.

    @pigsweat7763@pigsweat7763 Жыл бұрын
    • Haha thank you! Glad you like the style :)

      @coderized@coderized Жыл бұрын
    • It's like you're reading from documents, but more concisely.

      @Sxsux@Sxsux Жыл бұрын
    • @@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._

      @ultimaxkom8728@ultimaxkom8728 Жыл бұрын
    • @@ultimaxkom8728 🤤

      @coderized@coderized Жыл бұрын
    • another channel that fits the description is NoBoilerplate, love both channels

      @alionicle@alionicle2 ай бұрын
  • 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

    @norbertvida_@norbertvida_9 ай бұрын
  • 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!

    @Ermude10@Ermude10 Жыл бұрын
    • Thank you :)

      @coderized@coderized Жыл бұрын
  • 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.

    @sufilevy@sufilevy Жыл бұрын
    • Thank you Sufi - glad you liked it! 😊

      @coderized@coderized Жыл бұрын
    • @@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.

      @pigsweat7763@pigsweat7763 Жыл бұрын
    • @@pigsweat7763 Super accurate!

      @sufilevy@sufilevy Жыл бұрын
    • such an amazing vid

      @SebasMederos@SebasMederos Жыл бұрын
    • Just subscribed.

      @hannahsmith6095@hannahsmith6095 Жыл бұрын
  • 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.

    @beepbop6697@beepbop6697 Жыл бұрын
    • Yeah in hindsight, maybe it was too much of an oversimiplification with that part

      @coderized@coderized Жыл бұрын
    • 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

      @JohnDoe-ng6ec@JohnDoe-ng6ec Жыл бұрын
    • @@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.

      @beepbop6697@beepbop6697 Жыл бұрын
    • @@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.

      @baileyharrison1030@baileyharrison10308 ай бұрын
    • 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.

      @jhboricua@jhboricua19 күн бұрын
  • Didn't really explain WHY to never install locally.

    @plica06@plica062 ай бұрын
    • Because you can install/run on docker

      @howdarethee@howdarethee29 күн бұрын
    • 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

      @tilakadroja@tilakadroja25 күн бұрын
    • ​@@tilakadroja Mac has been integrating a lot of linux tools lately.

      @mythbunkers4716@mythbunkers471617 күн бұрын
    • @@mythbunkers4716 mac has always been basically a sibling of linux considering it's based on openbsd.

      @adora_was_taken@adora_was_taken16 күн бұрын
    • ​@@mythbunkers4716 mac is very similar to linux anyway

      @madarah8533@madarah853310 күн бұрын
  • 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.

    @sodiqayilara1519@sodiqayilara1519 Жыл бұрын
  • 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 😊 🙏

    @sauss4472@sauss4472 Жыл бұрын
  • 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!

    @neil_from_future@neil_from_future Жыл бұрын
  • 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!!

    @bluepomodoro3679@bluepomodoro36792 ай бұрын
  • From the script to graphics and everything in between, its just perfect!

    @henishshah6976@henishshah6976 Жыл бұрын
  • 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!!

    @calopsitarevoltada6109@calopsitarevoltada6109 Жыл бұрын
    • 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.

      @johnathanrice3569@johnathanrice35698 ай бұрын
  • 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!

    @tomithyheil8374@tomithyheil8374 Жыл бұрын
  • Great combination of animation + quality sound + minimal design + simple language 🔥

    @arshitvaghasiya7317@arshitvaghasiya73179 ай бұрын
  • 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.

    @sosaysthecaptain5580@sosaysthecaptain5580 Жыл бұрын
    • 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

      @lukemorris9857@lukemorris9857 Жыл бұрын
    • 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.

      @Netist_@Netist_5 ай бұрын
  • 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!!!

    @tabsc3489@tabsc3489 Жыл бұрын
    • Thank you for the comments Tabs - was really motivating to read this morning! I appreciate the feedback a lot :)

      @coderized@coderized Жыл бұрын
    • 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.

      @nomathic7672@nomathic7672 Жыл бұрын
    • ​@@nomathic7672 if it's just that then yeah

      @whannabi@whannabi Жыл бұрын
  • I still can't understand containers but I like this video

    @FelipeCampelo0@FelipeCampelo03 ай бұрын
  • 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 ^^

    @luciv_@luciv_Ай бұрын
  • Thank you for the work you've done to make your audio cleaner. ❤ I know it's a real struggle for a small studio.

    @creativecraving@creativecraving Жыл бұрын
  • 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.

    @thedanyesful@thedanyesful Жыл бұрын
    • 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

      @johnathanrice3569@johnathanrice35698 ай бұрын
  • 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

    @fortress5493@fortress5493 Жыл бұрын
  • hell yeah let's keep adding layers to the already falling apart cake.

    @PoloEstudios@PoloEstudios7 ай бұрын
  • 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)

    @moon0xcoder@moon0xcoder9 ай бұрын
  • I really hope you become famous... the quality of your videos are beyond belief! Keep it up!

    @0xc0ffee_@0xc0ffee_ Жыл бұрын
    • Thanks Patryk! 💜

      @coderized@coderized Жыл бұрын
  • 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

    @1H4NDC14PP1N6@1H4NDC14PP1N6 Жыл бұрын
  • I'm loving your content so far. I can barely wait for your updates. Excellent work, and thank you for the videos 💚

    @Aly-l-Axy@Aly-l-Axy Жыл бұрын
  • This guy just simply explained docker in 5 minutes. Flawlessly.

    @ztokkiz@ztokkiz9 ай бұрын
    • Not really, he didn't cover...A LOT...like the UEFI settings you need to run one etc

      @rarespetrusamartean5433@rarespetrusamartean54339 ай бұрын
    • @@rarespetrusamartean5433shut up

      @myrusEW@myrusEW9 ай бұрын
  • 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 😅

    @adityamore9435@adityamore9435 Жыл бұрын
  • 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.

    @nickofthyme@nickofthyme Жыл бұрын
    • Yeah different arches definitely need to be considered, nice addition. Maybe I'll make a part 2 someday

      @coderized@coderized Жыл бұрын
  • This was the most didactic explanation about containers in a nutshell that I had seen. Congratulations and keep going !

    @gabrielangelo4380@gabrielangelo438011 ай бұрын
  • so why are we supposed to never install locally. was it even mentioned in this video?

    @thatguy5233@thatguy52337 ай бұрын
    • 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 😬

      @Bobo-ox7fj@Bobo-ox7fj7 ай бұрын
    • @@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.

      @thatguy5233@thatguy52337 ай бұрын
    • 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

      @vetricanthbarrhead3055@vetricanthbarrhead3055Ай бұрын
    • ​@@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.

      @lunchbox1553@lunchbox155329 күн бұрын
  • 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!

    @MrXIndependent@MrXIndependent Жыл бұрын
  • 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 ❤

    @earthling_parth@earthling_parth Жыл бұрын
    • 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"

      @fuzzy-02@fuzzy-022 ай бұрын
  • 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

    @gabensstuff6140@gabensstuff6140 Жыл бұрын
  • Beautifully explained and amazingly illustrated and animated, thank you for your time and effort

    @matickovac@matickovac Жыл бұрын
  • This video is insanely well made, and the topic is really well-explained - instant sub!

    @haresmahmood@haresmahmood Жыл бұрын
  • 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.

    @ornato-t@ornato-t Жыл бұрын
    • Thank you Tommaso!

      @coderized@coderized Жыл бұрын
  • What an amazing and engaging video. Great graphics, animations and even the text construction. Great work!

    @ninedaniel246@ninedaniel2468 ай бұрын
  • Ill soon dive into devops and this video made me very excited, amazingly well done!

    @vassdeniss634@vassdeniss634 Жыл бұрын
  • You definitely should be able to make these full time, these are incredible :)

    @coup460@coup460 Жыл бұрын
  • 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! 😄

    @DavidWeberRepair@DavidWeberRepair Жыл бұрын
  • Small node, docker containers and podman containers use oci images are generally interchangable, however lxc containers appear to be a different beast. I would love to see a deeper dive in lxc containers

    @fuseteam@fuseteam9 ай бұрын
  • the kernel be like the representation of moses in south park xD

    @darkosimonovski3653@darkosimonovski365311 ай бұрын
    • This is pretty far down in the comments so I didn't realize you beat me to it lol.

      @xLTxFire@xLTxFire2 күн бұрын
  • 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.

    @Gunzy83@Gunzy83 Жыл бұрын
    • 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

      @johnathanrice3569@johnathanrice35698 ай бұрын
  • I know enough about containerization and its importance, but just cant stop watching because how good this video is done!

    @geraltrivyan@geraltrivyan Жыл бұрын
    • Thanks Geralt!

      @coderized@coderized Жыл бұрын
  • After having watched multiple videos on this subject this is visually one of the best and most concise. Thank you

    @oskarsmit9253@oskarsmit92537 ай бұрын
  • Best simplified overview explanation for containers.

    @user-kl5nx9qy8o@user-kl5nx9qy8o27 күн бұрын
  • Never understood docker and containerization completely. Thanks for making this video.

    @sumitpurohit8849@sumitpurohit8849 Жыл бұрын
    • 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.

      @MR-vj8dn@MR-vj8dn9 ай бұрын
  • 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!

    @63avtar@63avtar Жыл бұрын
    • kzhead.info/sun/pcygp62geWdug3k/bejne.html

      @joshuahampl@joshuahampl9 ай бұрын
  • I got this video recommendation for some time and never clicked on it. but when I clicked play, my oh my. I love your presentation and those animation. very good and easy to understand. 🎉🎉 subscribed and liked.

    @ArifKamaruzaman@ArifKamaruzaman9 ай бұрын
  • 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!

    @user-kl4rd@user-kl4rd Жыл бұрын
  • "...but that's a VM!" made me smile and even subscribe! Thanks a lot for the content🙏🙏

    @raghavkhanna6718@raghavkhanna6718 Жыл бұрын
  • 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!

    @manwithllama@manwithllama Жыл бұрын
  • 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

    @ashen5055@ashen505511 ай бұрын
    • Thanks I'll consider some practical examples to accompany these informative types for the future :)

      @coderized@coderized11 ай бұрын
  • 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 ☺️

    @raiden631@raiden6312 ай бұрын
  • 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

    @rnbpl@rnbpl3 ай бұрын
    • the hubris of mankind will know no bounds

      @not_herobrine3752@not_herobrine37522 ай бұрын
  • 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.

    @Babaelow@Babaelow4 ай бұрын
  • Your presentation quality is off the charts!! Well done!

    @RuanBekker@RuanBekker Жыл бұрын
  • This video was recommended to me and is high quality nice work subscribed!

    @Ameliaray.@Ameliaray.2 ай бұрын
  • 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

    @methanesulfonic@methanesulfonic Жыл бұрын
  • 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 ❤

    @spamcolector@spamcolector Жыл бұрын
    • 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 :)

      @coderized@coderized Жыл бұрын
  • just love the way you describe concepts

    @clinto2861@clinto2861 Жыл бұрын
  • 'Works on my machine' definitely still exists, as docker on windows mac and linux behaves very different 😅

    @dschaedler@dschaedler8 ай бұрын
  • Im so impressed with how many LOTR refrences you put in that dockerfile part. 9731 is sneaky!

    @ethancook7730@ethancook7730 Жыл бұрын
    • Very happy someone noticed that 😄

      @coderized@coderized Жыл бұрын
  • Awesome video, never really learnt about docker and containers but they seem very interesting, will definitely be playing around with them now

    @matthias916@matthias916 Жыл бұрын
    • I hope you find them as useful as I have over the years!

      @coderized@coderized Жыл бұрын
  • Wow this video is amazing! Thank you man, you killed it ❤🎉 I like the way you talk, so calm and easy :))

    @devstate@devstate Жыл бұрын
  • I hope your channel blows up! I loved your video so much 🤩

    @sudoalex@sudoalex8 ай бұрын
  • 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

    @anyonetube@anyonetube5 ай бұрын
    • Software info in discord

      @coderized@coderized5 ай бұрын
  • 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!

    @kurt7020@kurt7020 Жыл бұрын
    • 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.

      @slackingsource@slackingsource9 ай бұрын
    • Hooray for FreeBSD jails!

      @jakedrake99@jakedrake999 ай бұрын
    • 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

      @gg-gn3re@gg-gn3re5 ай бұрын
  • So glad I discovered this channel!

    @huzaifanaseerkhan@huzaifanaseerkhan8 ай бұрын
  • Absolutely brilliant video, presentation, and explanation. Really helped me understand! Thanks, coderized!

    @b00gi3@b00gi3Ай бұрын
  • 2:21 i want my containers to be like that companion cube!

    @bagheldevansh@bagheldevansh Жыл бұрын
  • 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.

    @hiibolt@hiibolt Жыл бұрын
    • Was scrolling through the comments to find the other Nix users, glad to see others enjoying the best tool for this job 😎

      @huantian@huantian Жыл бұрын
    • 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.

      @BrotherCheng@BrotherCheng11 ай бұрын
    • 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.

      @angeldude101@angeldude1018 ай бұрын
    • @@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.

      @BrotherCheng@BrotherCheng8 ай бұрын
    • @@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.

      @hiibolt@hiibolt8 ай бұрын
  • Dude! great vid, animation, naration, content and flow are all on point!

    @drewc3655@drewc3655 Жыл бұрын
  • Great video. I'm sad to see there are only two on your channel. I look forward to seeing more.

    @donoteatmikezila@donoteatmikezila8 ай бұрын
  • Subscribed; you explained in 5 minutes what my lecturer couldn't in 2 hours

    @yorha.a2@yorha.a2 Жыл бұрын
  • 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)

    @asdfghyter@asdfghyter8 ай бұрын
    • 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.

      @yuuko6264@yuuko62645 ай бұрын
    • nix gang RISE UP

      @XxZeldaxXXxLinkxX@XxZeldaxXXxLinkxX4 ай бұрын
  • this video is very helpful since it's short and fast for the explanation

    @gamerdude6843@gamerdude68439 ай бұрын
  • It's awesome! So much explained in such a concise manner. Thanks!

    @WisdomIsAwesome@WisdomIsAwesome8 ай бұрын
  • Excellent video. Enjoyed it 🤙

    @foro1@foro1 Жыл бұрын
  • thanks for making this video

    @BigVirusBoi@BigVirusBoi Жыл бұрын
  • That was a quality video with a simple explanation. I hope you keep making these.

    @Purplemid@Purplemid Жыл бұрын
  • Thank you for this amazing easy-to-follow video! It was beneficial and informative. I learned so much about containers and Docker in just a few minutes. Looking forward to implementing these concepts in my own projects! Also, I am definitely going to share this video with my friends. 👌

    @kvnptl4400@kvnptl4400 Жыл бұрын
  • Holy animation style

    @ajbrady4357@ajbrady4357 Жыл бұрын
  • "the kernel.... close enough" - I'm so old that that made me laugh. :)

    @edgeeffect@edgeeffect Жыл бұрын
  • 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

    @lewismassie@lewismassie Жыл бұрын
  • Simple, and perfect explanation. Basically what people needs to starting things right. Thank you very much forr this video. I'll share it with coworkers and friends.

    @fclabs00@fclabs00 Жыл бұрын
  • 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)

    @MsGordon01@MsGordon01 Жыл бұрын
    • Great suggestion, cпасибо, я посмотрю)

      @coderized@coderized Жыл бұрын
    • 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.

      @Gunzy83@Gunzy83 Жыл бұрын
    • Nix is pretty neat but has a really steep curve that isn't worth for everybody, even more with nixos

      @o_junio@o_junio Жыл бұрын
  • First time watching your content,i immediately subs for you.

    @Raymond0_0@Raymond0_0 Жыл бұрын
  • 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!

    @kvk812@kvk8123 ай бұрын
  • This video is stunning, so well made and really great to watch and learn from, keep making them like this!

    @jahwni@jahwni5 ай бұрын
KZhead