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_herobrine37529 ай бұрын
the hubris of mankind will know no bounds
@bugfeaturesАй бұрын
also the lie in the first sentence "lighning fast" ... yeah waste increadable reourcen and claim its fast
@scycer19 күн бұрын
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 Жыл бұрын
He said "badly demonstrated banana", pulled the hardest banana animation to date and thought we wouldn't notice.
@untitled60878 ай бұрын
straight out of portal 2
@eliokuster49158 ай бұрын
Yeah for real, had the same thought.
@kleinerhalflife8 ай бұрын
@@untitled6087 we love exploded diagrams
@skidadle54738 ай бұрын
"pulled the hardest banana"
@Zoooooooooooo7 ай бұрын
a hard banana you say
@FelipeCampelo010 ай бұрын
I still can't understand containers but I like this video
@shoebilyas536811 ай бұрын
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.
@hamdanmahmood3466 ай бұрын
A brief and no bs comment for somebody who wants a quick "review" of the video before committing to watching it; thanks.
@amirhoseinniknezhad112 Жыл бұрын
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 Жыл бұрын
Thank you!
@ArthurKhazbs Жыл бұрын
Yes! And the animation does an amazing job conveying the ideas in great detail. The author is clearly a genius.
@AMindInOverdrive11 ай бұрын
that was very nice of you to comment like that 🙂
@habeebmohamed471811 ай бұрын
this sounds like an insult
@Eurotool Жыл бұрын
This channel is like 3blue1brown and Fireship had a baby
@coderized Жыл бұрын
Haha, love this!
@MsGordon01 Жыл бұрын
Agree)
@shreyasd4663 Жыл бұрын
This is so true
@RisingSunLightRSL Жыл бұрын
It's strangely really accurate
@luigibattaglioli6026 Жыл бұрын
I was literally just thinking that. I’m obsessed
@ymi_yugy3133 Жыл бұрын
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 Жыл бұрын
Thanks for the additions although not all this is correct. It's explained well below, by others.
@nandomax3 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
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
@coderized Жыл бұрын
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 Жыл бұрын
VSCode is not an IDE?! o.o
@coderized Жыл бұрын
@@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 Жыл бұрын
"if you use VSC" as if 99% of all developers ever aren't using vsc bruhhhh
@coderized Жыл бұрын
@@8jjiyu654 It is, why? 🤔
@8jjiyu654 Жыл бұрын
@@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 Жыл бұрын
This video is a triumph of minimalism and simplicity. Amazing job!
@kopuz.co.uk.4 ай бұрын
if you like bloat, you like bloat.
@Kiev-in-3-daysКүн бұрын
Sure. Adding several layers of complexity makes it a triumph of minimalism. Reading most devs comments is now no different than reading MAGA "lies are the new truth" BS.
@manavkhandurie Жыл бұрын
I m mesmerized by the production , the sound , the animations , the content , the everything. Keep up the good work
@Ermude10 Жыл бұрын
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 Жыл бұрын
Thank you :)
@sufilevy Жыл бұрын
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 Жыл бұрын
Thank you Sufi - glad you liked it! 😊
@pigsweat7763 Жыл бұрын
@@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 Жыл бұрын
@@pigsweat7763 Super accurate!
@SebasMederos Жыл бұрын
such an amazing vid
@hannahsmith6095 Жыл бұрын
Just subscribed.
@plica068 ай бұрын
Didn't really explain WHY to never install locally.
@howdarethee7 ай бұрын
Because you can install/run on docker
@tilakadroja7 ай бұрын
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
@mythbunkers47166 ай бұрын
@@tilakadroja Mac has been integrating a lot of linux tools lately.
@adora_was_taken6 ай бұрын
@@mythbunkers4716 mac has always been basically a sibling of linux considering it's based on openbsd.
@madarah85336 ай бұрын
@@mythbunkers4716 mac is very similar to linux anyway
@bluepomodoro36798 ай бұрын
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!!
@sodiqayilara1519 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Yeah in hindsight, maybe it was too much of an oversimiplification with that part
@JohnDoe-ng6ec Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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.
@jhboricua6 ай бұрын
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.
@calopsitarevoltada6109 Жыл бұрын
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 Жыл бұрын
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.
@darkosimonovski3653 Жыл бұрын
the kernel be like the representation of moses in south park xD
@xLTxFire6 ай бұрын
This is pretty far down in the comments so I didn't realize you beat me to it lol.
@ragtop635 ай бұрын
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!
@norbertvida_ Жыл бұрын
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
@Kiev-in-3-daysКүн бұрын
You have been brainwashed. How can you decide to use a new stack just on a 5 minutes videos without any details. Amazing.
@tabsc3489 Жыл бұрын
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 Жыл бұрын
Thank you for the comments Tabs - was really motivating to read this morning! I appreciate the feedback a lot :)
@nomathic7672 Жыл бұрын
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 Жыл бұрын
@@nomathic7672 if it's just that then yeah
@pigsweat7763 Жыл бұрын
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 Жыл бұрын
Haha thank you! Glad you like the style :)
@Sxsux Жыл бұрын
It's like you're reading from documents, but more concisely.
@ultimaxkom8728 Жыл бұрын
@@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 Жыл бұрын
@@ultimaxkom8728 🤤
@alionicle9 ай бұрын
another channel that fits the description is NoBoilerplate, love both channels
@dschaedler Жыл бұрын
'Works on my machine' definitely still exists, as docker on windows mac and linux behaves very different 😅
@henishshah6976 Жыл бұрын
From the script to graphics and everything in between, its just perfect!
@andrasdotsch Жыл бұрын
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.
@Faust298 ай бұрын
let the container runtime handle the compatibility instead of you handle it by urself
@bubis8 ай бұрын
@@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.
@trustytrojan4 ай бұрын
this is extremely true now that i've started experimenting with waydroid on arch linux and learning quite a lot about kernel differences 😭🙏
@sosaysthecaptain5580 Жыл бұрын
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 Жыл бұрын
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_11 ай бұрын
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.
@tomithyheil8374 Жыл бұрын
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!
@Babaelow10 ай бұрын
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.
@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 ^^
@sumitpurohit8849 Жыл бұрын
Never understood docker and containerization completely. Thanks for making this video.
@MR-vj8dn Жыл бұрын
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.
@gabrielangelo4380 Жыл бұрын
This was the most didactic explanation about containers in a nutshell that I had seen. Congratulations and keep going !
@arshitvaghasiya7317 Жыл бұрын
Great combination of animation + quality sound + minimal design + simple language 🔥
@tylerpohn89359 ай бұрын
jr: "the container still doesn't work on my machine" sr: "well shit"
@neil_from_future Жыл бұрын
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!
@63avtar Жыл бұрын
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 Жыл бұрын
kzbin.info/www/bejne/qJnKqHyed5prhqM
@thatguy5233 Жыл бұрын
so why are we supposed to never install locally. was it even mentioned in this video?
@thatguy5233 Жыл бұрын
@@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.
@vetricanthbarrhead30558 ай бұрын
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
@lunchbox15537 ай бұрын
@@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.
@NegInfinity9 ай бұрын
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.
@manwithllama Жыл бұрын
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!
@spamcolector Жыл бұрын
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 Жыл бұрын
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 :)
@sauss4472 Жыл бұрын
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 😊 🙏
@geraltrivyan Жыл бұрын
I know enough about containerization and its importance, but just cant stop watching because how good this video is done!
@coderized Жыл бұрын
Thanks Geralt!
@jortmungandr1112 Жыл бұрын
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.
@kurt7020 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Hooray for FreeBSD jails!
@gg-gn3re11 ай бұрын
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
@MrXIndependent Жыл бұрын
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!
@0xc0ffee_ Жыл бұрын
I really hope you become famous... the quality of your videos are beyond belief! Keep it up!
@coderized Жыл бұрын
Thanks Patryk! 💜
@1H4NDC14PP1N6 Жыл бұрын
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
@Windows__2000 Жыл бұрын
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 Жыл бұрын
Thanks, no other experience but a compliment that you think so!
@creativecraving Жыл бұрын
Thank you for the work you've done to make your audio cleaner. ❤ I know it's a real struggle for a small studio.
@Gunzy83 Жыл бұрын
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 Жыл бұрын
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
@thedanyesful Жыл бұрын
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 Жыл бұрын
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
@ztokkiz Жыл бұрын
This guy just simply explained docker in 5 minutes. Flawlessly.
@rarespetrusamartean5433 Жыл бұрын
Not really, he didn't cover...A LOT...like the UEFI settings you need to run one etc
@myrusEW Жыл бұрын
@@rarespetrusamartean5433shut up
@vassdeniss634 Жыл бұрын
Ill soon dive into devops and this video made me very excited, amazingly well done!
@umbreonben Жыл бұрын
Im already familiar with Docker but I really love this video! Subbed :)
@fortress5493 Жыл бұрын
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
@nickofthyme Жыл бұрын
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 Жыл бұрын
Yeah different arches definitely need to be considered, nice addition. Maybe I'll make a part 2 someday
@bagheldevansh Жыл бұрын
2:21 i want my containers to be like that companion cube!
@standbyDtH9 ай бұрын
10/10 quality content. Naration, animations, production, script, etc. Really well done
@coderized9 ай бұрын
Thanks! 😊
@anyonetube11 ай бұрын
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
@coderized11 ай бұрын
Software info in discord
@coup460 Жыл бұрын
You definitely should be able to make these full time, these are incredible :)
@the-random-on3 Жыл бұрын
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 Жыл бұрын
Thank you Tommaso!
@asdfghyter Жыл бұрын
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 Жыл бұрын
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.
@XxZeldaxXXxLinkxX10 ай бұрын
nix gang RISE UP
@oskarsmit9253 Жыл бұрын
After having watched multiple videos on this subject this is visually one of the best and most concise. Thank you
@henishshah6976 Жыл бұрын
This was the first video that I saw on this channel and I have already subscribed.
@AlexanderTrefz Жыл бұрын
Always install locally, it is a million times faster than all of the awful container solutions available and things are not that hard.
@hiibolt Жыл бұрын
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 Жыл бұрын
Was scrolling through the comments to find the other Nix users, glad to see others enjoying the best tool for this job 😎
@BrotherCheng Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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.
@yorha.a2 Жыл бұрын
Subscribed; you explained in 5 minutes what my lecturer couldn't in 2 hours
@methanesulfonic Жыл бұрын
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
@oldmarjin Жыл бұрын
My school (programming course) wanted me to use docker, but I didn't see the use of it. but now i know why its useful thanks.
@jeffh4581 Жыл бұрын
Extremely high quality, this. Well done!
@adityamore9435 Жыл бұрын
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 😅
@DavidWeberRepair Жыл бұрын
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! 😄
@animationmann Жыл бұрын
Your really a Hidden Gem my Man hopefully you get blessed by the Algorythm
@clinto2861 Жыл бұрын
just love the way you describe concepts
@graym4002 Жыл бұрын
ive been annoyed at not understanding containers for the longest time, and this video singlehandedly fixed that. thank you so much for this
@Slade0120 Жыл бұрын
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.
@hugos6717Ай бұрын
totally agree
@AlexanderGarzon Жыл бұрын
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 Жыл бұрын
Thanks for watching regardless Alexander! Glad you enjoyed it :)
@undefined4277 Жыл бұрын
that tron reference is immaculate how did no one else see that
@coderized Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@undefined4277 You're my new favourite person ;)
@omarhamad Жыл бұрын
i love the voice over, how you present the info, just as good as it's
@moon0xcoder Жыл бұрын
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)
@MsGordon01 Жыл бұрын
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 Жыл бұрын
Great suggestion, cпасибо, я посмотрю)
@Gunzy83 Жыл бұрын
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 Жыл бұрын
Nix is pretty neat but has a really steep curve that isn't worth for everybody, even more with nixos
@foro1 Жыл бұрын
Excellent video. Enjoyed it 🤙
@earthling_parth Жыл бұрын
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-029 ай бұрын
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"
@RinksRides Жыл бұрын
Simple to understand. No stupid BGM. Liked and Subscribed.
@devstate Жыл бұрын
Wow this video is amazing! Thank you man, you killed it ❤🎉 I like the way you talk, so calm and easy :))
@ajbrady4357 Жыл бұрын
Holy animation style
@BigVirusBoi Жыл бұрын
thanks for making this video
@rotteegher39 Жыл бұрын
nobody: the kernel: 🗿 1:10
@coderized Жыл бұрын
Extra points if you knew it was the MCP from Tron
@3sooraj Жыл бұрын
Excellent work, i was struggling to explain to my non-technical management about containers. This did the job.
@AdmV0rl0n Жыл бұрын
This is only a personal view - I still basically struggle with containers and their issues. While there is a resource difference - I find it gets rather overplayed or over hyped. And as crazy as this is going to sound, sometimes its been easier to spin up a VM and get things set over fighting to figure out container issues.. Rather than K8 - I think I would have suggested people start with Portainer, or similar 'easier' tooling Anyway - good vid!
@oglothenerd9 ай бұрын
[4:20] "touch banana"
@coderized9 ай бұрын
Coincidence? Or conspiracy? 🤔😆
@oglothenerd9 ай бұрын
@@coderized Touching a banana. ;)
@ChristianBrugger Жыл бұрын
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.
@The-KP Жыл бұрын
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.
@MohitAgarwal-g6i Жыл бұрын
I dont usually comment. But the whole flow and the level of information was perfect. Not too deep, not too shallow. Cheers!
@RuanBekker Жыл бұрын
Your presentation quality is off the charts!! Well done!
@darkflux Жыл бұрын
with MCP as your core, your "container" may have some serious problems. i'll contact Flynn...
@coderized Жыл бұрын
Best comment so far 😆
@benjaminbenzing2360 Жыл бұрын
finally someone spotted the reference.
@cayde-6976 Жыл бұрын
I'm a beautiful and unique snowflake
@viavitaliya Жыл бұрын
Great stuff as always!! Seeing myself on the supporters list almost made me tear up 🥹
@iamworldian Жыл бұрын
@ArifKamaruzaman Жыл бұрын
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.
@nicejungle Жыл бұрын
With Docker, I can now experiment infinite stuff in infinite ways, that's awesome for modern developing where you need so many softwares, libraries, services for running your code... You can forget 2 sentences : "it works on my machines" and "this is incompatible"
Жыл бұрын
The two worst parts about containers in my opinion are 1) mapping permissions between the host and container in mounted volumes and 2) maybe docker specific, but it goes real hard on your network configuration (iptables, DNS, absurd amounts of interfaces and DHCP, all things that have caused me major headaches). For the permissions issue, I'm specifically thinking of getting permissions inside of the container to align with the user outside of it. I've seen many ways of solving this issue, but most of them required either a lot of setup, or having to manually set your UID in configuration files and environments all over the place. Not to mention that all images seem to do it their own way, so just finding the place to fix it, is annoying in the first place. Rootless containers might alleviate that problem, but I often find that my projects require a lot of special privileges, as they often interact with firewalls and the system configuration. Don't get me wrong, I like containers, but VMs are just much simpler.