Looking for books & other references mentioned in this video? Check out the video description for all the links! Want early access to videos & exclusive perks? Join our channel membership today: th-cam.com/channels/s_tLP3AiwYKwdUHpltJPuA.htmljoin Question for you: What’s your biggest takeaway from this video? Let us know in the comments! ⬇
I am an absolute novice in the realm of Linux and Docker, but after watching this presentation I feel as if I understand the key concepts! She is a WONDERFUL presenter, and explains what she is doing AS she is doing it! To do so clearly is an exceptional talent!
Excellent demo, I wouldn't have considered building a containerization system from scratch as a way to better understand them. It's a brilliant approach and it's taught me so much I did not know about Linux, Docker, and containerization. I'm glad I found your video and couldn't be more grateful. So many demo's jump too deep into the process, ignoring the inner workings, the why and the how. As an inquisitive person, It's difficult for me to accept and retain the procedural steps without understanding them on a deeper level. This video power-leveled me through the learning process.
For the first time, I'm seeing how container works in behind the scenes. Excellent explanation, with no boredom. Thank you to the Presenter and the Organizer.
What an absolute gem to the community, transcribed and explained in such a way that a novice and a scholar in this realm can gather and rejoice in such an eloquent speech. The future is in good hands; If (Mrs.) Rice presentation is given to those looking to expand there knowledge. Thank you truly to all those involved in making this possible a WONDERFUL Masterclass.
I thought i knew about containers until i saw this and now i know more :) This is one of the best videos i have seen on what are containers and what are the internal working. Thanks for sharing!
Seriously one of the coolest talks I’ve seen in a while. A fantastic insight into how containers like Docker operate under the hood!! Haha itching now to build my very own container platform...
For anyone that landed here from the docker 101 tutorial, if you don't know some linux basics you can skip this video as probably you won't understand that much what's going on... Aside from that this was a great demo on how containerization works :=)
Right? You use Docker for 2 years before you even understand what it is. It's all magic under the hood and it just works. This makes it clear what's actually going on
Gemini 1.5 Pro: This video is about containerization and how it works. The speaker, Liz Rice, starts the video by asking the audience how many people in the room are familiar with containers. She then goes on to explain what containers are and how they work. Containers are a way of packaging up a piece of software along with all of its dependencies so that it can run on any system. This is done by using namespaces and control groups. Namespaces limit the view of a process of the things that are going on on the host machine. Control groups limit the resources that a container can use. Rice says that in order to understand containers, you need to understand three things: namespaces, control groups, and cgroups file system. Namespaces are a way of limiting what a process can see. For example, a container can have its own hostname and its own set of processes. Control groups are a way of limiting the resources that a container can use. For example, a container can be limited to a certain amount of memory or CPU. The cgroups file system is a way of configuring control groups. Rice then goes on to show how to create a container from scratch. She starts by creating a simple Go program that can run an arbitrary command. She then uses namespaces and control groups to limit the resources that the container can use. Finally, she shows how to run the container. The video ends with Rice answering a few questions from the audience. One question is about whether it is a good idea to run Docker in Docker. Rice says that there are very few occasions where you would need to do this, and that it is generally not a good idea. Another question is about how containers work with Java. Rice says that she is not a Java expert, but that she believes that the Java Virtual Machine would be grabbing a bunch of memory up front and then dividing that up in different ways that the kernel is no longer aware of. Overall, this video is a great introduction to containers and how they work. It is a bit technical, but it is easy to follow if you have some basic understanding of Linux. 💯
Hi, I am having a bit of problem running this part: cmd.SysProcAttr = &syscall.SysProcAttr{ Cloneflags: syscall.CLONE_NEWUTS, } if I run this then the child process is not called, but if I comment out the hostname namespace creation, then a new process is created. My Go version is 1.10 linux/amd64
I am new to linux/unix systems. And from the speaker's knowledge I can clearly see that in order to do all these you have to have knowledge of 2 things: 1. go's capability of interacting with host operating system. 2. Linux system in-depth understanding Can anyone suggest best resource which I should read and practice get such an in-depth understanding of linux/unix system?
The Ubuntu filesystem (ubuntu-fs) or the fs of any other distro can be copied from a machine running that distro. You can spin up an Ubuntu VM, SSH into it, and then use scp (or rsync/whatever your preferred ssh copy tool is) to copy it over to your host OS. The idea is since linux kernels are the same between distros (accounting for version), you can spin up a container that thinks it's running on an ubuntu host by just mounting the ubuntu root fs as the root fs of the container. Then the .bashrc for example, will export the path of the relevant utils to the shells path, and so when run, it will seem like your ssh'd inside an ubuntu machine, even though the host might be arch.
Great presentation, but she didn't show what network namespace affects the containers, maybe it is much more complicated for explaining veth pairs, bridges and iptables for accessing outside web services.
me sitting here thinking like "oooh, that makes sense. cmd.Stdout = os.Stdout" actually, doesn't understand anything What do I need to learn this? Unix EDU, learn programming? from Stanford?
Learn Go, the programming language. I think it takes the default output and attaches it to the container so the container program can output as well. (not sure)
Its an interesting video, even though it's in an OS and language I dont understand, and I thought it was going to be about how to use containers in a day to day basis, not how to make one from scratch. XD
Just a kindly remind you must run this strictly in Linux and root user, WSL and MacOS does not work. if you do not have a linux on hand, suggest to run virtual machine
This got linked from the official Docker tutorial as an introduction into understanding Docker. I'm not a Go programmer so this very difficult to extract what is going on. It's probably a great presentation with loads of useful information but don't see the relevance of it being under the title "What is a container?" on page 1 of a Docker tutorial titled "Getting started". I haven't down-voted the video as I think that would be unfair, I just feel for the people who have followed the first page of docker/getting-started and landed here.
The link to this video states: "If you'd like to see how containers are built from scratch, Liz Rice from Aqua Security has a fantastic talk in which she creates a container from scratch in Go. While she makes a simple container, this talk doesn't go into networking, using images for the filesystem, and more. But, it gives a fantastic deep dive into how things are working." I think the implication is that this is an aside, a nice-to-know, but not necessary yet. I'm following the same tutorial, and learned quite a bit from this video. Your mileage may vary.
For a more detailed understanding, you can watch the video in the link given below, which illustrates the fundamental concepts around containerization along with Linux containers, docker, and Kubernetes. #lxd #lxc #docker #kubernetes th-cam.com/video/TlqD6UXdPHM/w-d-xo.html
This was very detailed which is great, but it seems as though a deep knowledge of Linux is required? Most of this went straight over my head. Those directories full of properties? None of that made any sense.
I came here from the first page of an introduction to containers from the docker hub site and am presented with how to simulate a container using the go language. It is probably a good talk on that premise but absolutely of no use if you don't know what a docker container is in the first place. Docker should not direct newbies to this video.
Looking for books & other references mentioned in this video?
Check out the video description for all the links!
Want early access to videos & exclusive perks?
Join our channel membership today: th-cam.com/channels/s_tLP3AiwYKwdUHpltJPuA.htmljoin
Question for you: What’s your biggest takeaway from this video? Let us know in the comments! ⬇
She explains everything so brilliantly, plus shes engaging, AND a live demo at the same time as speaking. Brilliant.
Great presentation!
Main takeaways:
Namespaces: Control what you can see
Control Group: Control what you can use
I am an absolute novice in the realm of Linux and Docker, but after watching this presentation I feel as if I understand the key concepts!
She is a WONDERFUL presenter, and explains what she is doing AS she is doing it! To do so clearly is an exceptional talent!
Hats off to the presenter!!!!! What a clear explanation of the concepts behind Dockers and Containers in general.
Excellent demo, I wouldn't have considered building a containerization system from scratch as a way to better understand them. It's a brilliant approach and it's taught me so much I did not know about Linux, Docker, and containerization. I'm glad I found your video and couldn't be more grateful. So many demo's jump too deep into the process, ignoring the inner workings, the why and the how. As an inquisitive person, It's difficult for me to accept and retain the procedural steps without understanding them on a deeper level. This video power-leveled me through the learning process.
For the first time, I'm seeing how container works in behind the scenes. Excellent explanation, with no boredom. Thank you to the Presenter and the Organizer.
Learned more about linux processes in this
What an absolute gem to the community, transcribed and explained in such a way that a novice and a scholar in this realm can gather and rejoice in such an eloquent speech. The future is in good hands; If (Mrs.) Rice presentation is given to those looking to expand there knowledge. Thank you truly to all those involved in making this possible a WONDERFUL Masterclass.
I thought i knew about containers until i saw this and now i know more :)
This is one of the best videos i have seen on what are containers and what are the internal working.
Thanks for sharing!
Seriously one of the best videos on the topic! So much info made so simple. I'm searching for all your other presentations :)
Seriously one of the coolest talks I’ve seen in a while. A fantastic insight into how containers like Docker operate under the hood!! Haha itching now to build my very own container platform...
The most brilliant presenter I have ever seen! Really amazing thank you from
Still one of the best videos for understanding containers and how linux works.
Sensational! Never saw such brilliant explanation built up from the ground. Love it!
Absolutely eye opening. Now it all makes sense.
this was one of the best videos i watched in a while
Now I finally get containers. Thank you.
Who else got here from the Docker installation tutorial?
I did! I think she should be super proud for that.
Same here. This is amazing.
This is absolutely very insightful presentation on the actual working of containers.
Amazing!! If you really want to understand containers this video is mandatory!👏
This is an amazing session. I like the way Liz explained the underlying concepts of containers from basic Linux concepts.
Such an informative talk and a wonderful demo that steps things up slowly!
Great talk. Love this kind of practical way of explaining complex concepts.
Awesome. Best description of what a container actually is. Very cool
Brilliant exposition. Masterful balance.
This is a Masterclass! Thank you for sharing this with us
Crystal clear intro to docker
Excellent! Congrats on this amazing Docker explanation. It was mind-blowing.
Excellent demo, clears up a lot of confusion.
Awesome Stuff. Great to have someone share their knowledge in a digestable way.
For anyone that landed here from the docker 101 tutorial, if you don't know some linux basics you can skip this video as probably you won't understand that much what's going on...
Aside from that this was a great demo on how containerization works :=)
You got that right. I didn't understand any of it!
loved every minute of it
Amazing talk. Clear and brilliant. 5 Stars
what a gangster live demo! Awesome!
This type of talk is something i would pay to goto a conference and see.. Very nice!
What a brilliant explanation.
I think this is so great, and love the live demo!
Love the talk. Very insightful. Thank you
As good as a container talk can get ! Wish this is made available when people start with containers and get lost in all the complexity.
Right? You use Docker for 2 years before you even understand what it is. It's all magic under the hood and it just works. This makes it clear what's actually going on
excellent presentation. God bless
Simply said, great video!
That was a delightful talk/demo!
MINDBLOWING
This is like the movie Inception, mind blowing!
Awesome! Had been using docker all these days. I can now create my own docker.
this was so great
Just started with using docker great presentation
This lady knows what she's doing, clarified my mind A LOT!
Great presentation
This Lady is a Legend :)
Brilliant talk! thank you very much!
amazing
Great video
Gemini 1.5 Pro: This video is about containerization and how it works.
The speaker, Liz Rice, starts the video by asking the audience how many people in the room are familiar with containers. She then goes on to explain what containers are and how they work. Containers are a way of packaging up a piece of software along with all of its dependencies so that it can run on any system. This is done by using namespaces and control groups. Namespaces limit the view of a process of the things that are going on on the host machine. Control groups limit the resources that a container can use.
Rice says that in order to understand containers, you need to understand three things: namespaces, control groups, and cgroups file system. Namespaces are a way of limiting what a process can see. For example, a container can have its own hostname and its own set of processes. Control groups are a way of limiting the resources that a container can use. For example, a container can be limited to a certain amount of memory or CPU. The cgroups file system is a way of configuring control groups.
Rice then goes on to show how to create a container from scratch. She starts by creating a simple Go program that can run an arbitrary command. She then uses namespaces and control groups to limit the resources that the container can use. Finally, she shows how to run the container.
The video ends with Rice answering a few questions from the audience. One question is about whether it is a good idea to run Docker in Docker. Rice says that there are very few occasions where you would need to do this, and that it is generally not a good idea. Another question is about how containers work with Java. Rice says that she is not a Java expert, but that she believes that the Java Virtual Machine would be grabbing a bunch of memory up front and then dividing that up in different ways that the kernel is no longer aware of.
Overall, this video is a great introduction to containers and how they work. It is a bit technical, but it is easy to follow if you have some basic understanding of Linux.
💯
Very clear and nice presentation!
This was incredible!
I'm a bit late to the party, but that was really amazing!
21:30 did I get it right? she mounted the host's proc folder inside the "vagrant-ubuntu-fs" ?
Brilliant
thank you!
it really helped in understanding namespaces and cgroups!!!
Hi,
I am having a bit of problem running this part:
cmd.SysProcAttr = &syscall.SysProcAttr{
Cloneflags: syscall.CLONE_NEWUTS,
}
if I run this then the child process is not called, but if I comment out the hostname namespace creation, then a new process is created.
My Go version is 1.10 linux/amd64
I think syscall.CLONE_NEWUTS only works as root user.
Nice video. Thank you.
What GO IDE is she using? The auto completion seems super responsive!!
It's Visual Studio Code, and there's probably the "Go for Visual Studio Code" extension by Microsoft for it :)
I am new to linux/unix systems.
And from the speaker's knowledge I can clearly see that in order to do all these you have to have knowledge of 2 things:
1. go's capability of interacting with host operating system.
2. Linux system in-depth understanding
Can anyone suggest best resource which I should read and practice get such an in-depth understanding of linux/unix system?
I still don't know what a container is, but at least I learned how to install a ubuntu VM in mac to run her code 😂
I like the VS Code theme! What is it?
Monokai
I maybe wrong, but limits os max memory can result a buffer overflow ? Sorry if this question is simple
I think that can always happen no matter what. The point is that other programs don't choke up. (I think)
Excellent, with a bit poor sound recording.
This is a great talk and it would have deserved significantly better Audio quality.
Amazing!
Awesome!
How did she get the ubuntu-fs?
The Ubuntu filesystem (ubuntu-fs) or the fs of any other distro can be copied from a machine running that distro. You can spin up an Ubuntu VM, SSH into it, and then use scp (or rsync/whatever your preferred ssh copy tool is) to copy it over to your host OS.
The idea is since linux kernels are the same between distros (accounting for version), you can spin up a container that thinks it's running on an ubuntu host by just mounting the ubuntu root fs as the root fs of the container. Then the .bashrc for example, will export the path of the relevant utils to the shells path, and so when run, it will seem like your ssh'd inside an ubuntu machine, even though the host might be arch.
beautiful
Did i understand something wrong, or does she have 9 exabytes of storage available?
Great presentation, but she didn't show what network namespace affects the containers, maybe it is much more complicated for explaining veth pairs, bridges and iptables for accessing outside web services.
_Please add English subtitles..._
I'm sure the content is great but the video is shaking and the voice-recording hollow, how can I get the transcript instead?
wow
How much are y'all getting paid to use/implement docker technology?
Awesome
Excellent talk... pity the camera was handheld and a little bit wobbly... but the information was top notch and well presented.
me sitting here thinking like "oooh, that makes sense. cmd.Stdout = os.Stdout" actually, doesn't understand anything
What do I need to learn this? Unix EDU, learn programming? from Stanford?
Learn Go, the programming language. I think it takes the default output and attaches it to the container so the container program can output as well. (not sure)
Its an interesting video, even though it's in an OS and language I dont understand, and I thought it was going to be about how to use containers in a day to day basis, not how to make one from scratch. XD
That's a pity that some people almost cover her voice, though. Made it harder to understand.
Nice presentation, enjoyed it - Here's the github link for anyone needing it.. github.com/lizrice/containers-from-scratch
You are the wind beneath my wings. many thanks.
😀
Just a kindly remind you must run this strictly in Linux and root user, WSL and MacOS does not work. if you do not have a linux on hand, suggest to run virtual machine
Any comments! ?
oh man.. I was checking the video in a fast manner until I saw that :(){ :|: & };: command. I executed it in my terminal which wasn't so much fun :D
If you don't know how to use docker, don't bother watching it doesn't help
Me trying this on an ubuntu, in a Docker contianer.
"Minus L"!??
This got linked from the official Docker tutorial as an introduction into understanding Docker. I'm not a Go programmer so this very difficult to extract what is going on. It's probably a great presentation with loads of useful information but don't see the relevance of it being under the title "What is a container?" on page 1 of a Docker tutorial titled "Getting started". I haven't down-voted the video as I think that would be unfair, I just feel for the people who have followed the first page of docker/getting-started and landed here.
The link to this video states: "If you'd like to see how containers are built from scratch, Liz Rice from Aqua Security has a fantastic talk in which she creates a container from scratch in Go. While she makes a simple container, this talk doesn't go into networking, using images for the filesystem, and more. But, it gives a fantastic deep dive into how things are working."
I think the implication is that this is an aside, a nice-to-know, but not necessary yet. I'm following the same tutorial, and learned quite a bit from this video. Your mileage may vary.
For a more detailed understanding, you can watch the video in the link given below, which illustrates the fundamental concepts around containerization along with Linux containers, docker, and Kubernetes. #lxd #lxc #docker #kubernetes
th-cam.com/video/TlqD6UXdPHM/w-d-xo.html
who could possibly press dislike, barbarians!
I wish I could put a dislike on the idiots in the background talking while she's talking. Good lord some people are rude.
This was very detailed which is great, but it seems as though a deep knowledge of Linux is required? Most of this went straight over my head. Those directories full of properties? None of that made any sense.
I came here from the first page of an introduction to containers from the docker hub site and am presented with how to simulate a container using the go language. It is probably a good talk on that premise but absolutely of no use if you don't know what a docker container is in the first place. Docker should not direct newbies to this video.
lose lose.
great topic and great presenter but horrible audio. oof!
:O