Containers From Scratch • Liz Rice • GOTO 2018

Поділитися
Вставка
  • Опубліковано 27 вер 2024
  • This presentation was recorded at GOTO Amsterdam 2018. #gotocon #gotoams
    gotoams.nl
    Liz Rice - Technology Evangelist with Aqua Security
    ABSTRACT
    What is a container? Is it really a “lightweight VM”? What are namespaces and control groups? What does a host machine know about my containers? And what do my containers know about each other?
    In this talk Liz will live-code a container in a few lines of Go code, to answer [...]
    Download slides and read the full abstract here:
    gotoams.nl/201...
    RECOMMENDED BOOKS
    Liz Rice • Learning eBPF • amzn.to/4bIhSbH
    Liz Rice • Container Security • amzn.to/3oU4iJe
    Liz Rice • Kubernetes Security • www.oreilly.co...
    / gotoamst
    / gotoconference
    gotocon.com
    #Containers #Security #DevOps
    Looking for a unique learning experience?
    Attend the next GOTO Conference near you! Get your ticket at gotocon.com
    SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
    www.youtube.co...

КОМЕНТАРІ • 129

  • @eliausi9696
    @eliausi9696 5 років тому +189

    She explains everything so brilliantly, plus shes engaging, AND a live demo at the same time as speaking. Brilliant.

  • @DhvananShah
    @DhvananShah 4 роки тому +145

    Great presentation!
    Main takeaways:
    Namespaces: Control what you can see
    Control Group: Control what you can use

  • @ECV13XPBC
    @ECV13XPBC 3 роки тому +61

    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!

  • @nehahp477
    @nehahp477 Місяць тому +2

    Learned more about linux processes in this

  • @PrinceDevasitham
    @PrinceDevasitham 5 років тому +42

    Hats off to the presenter!!!!! What a clear explanation of the concepts behind Dockers and Containers in general.

  • @JT-iw2cw
    @JT-iw2cw 3 роки тому +52

    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.

  • @PaulFidika
    @PaulFidika 3 роки тому +59

    Who else got here from the Docker installation tutorial?

    • @ohaRega
      @ohaRega 2 роки тому +5

      I did! I think she should be super proud for that.

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

      Same here. This is amazing.

  • @jijosunny8626
    @jijosunny8626 3 роки тому +11

    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!

  • @executioner769
    @executioner769 3 місяці тому +1

    This is absolutely very insightful presentation on the actual working of containers.

  • @VarunSingh-mj6xc
    @VarunSingh-mj6xc 20 днів тому +1

    loved every minute of it

  • @stusrambles
    @stusrambles 2 роки тому +3

    Absolutely eye opening. Now it all makes sense.

  • @ismailech-cherrate
    @ismailech-cherrate 4 роки тому +9

    The most brilliant presenter I have ever seen! Really amazing thank you from

  • @anitsh
    @anitsh 3 роки тому +4

    Still one of the best videos for understanding containers and how linux works.

  • @atomic.rabbit
    @atomic.rabbit 5 років тому +16

    Now I finally get containers. Thank you.

  • @martamasson8941
    @martamasson8941 8 місяців тому +1

    Amazing!! If you really want to understand containers this video is mandatory!👏

  • @HarishNarayanan
    @HarishNarayanan 2 роки тому +3

    Such an informative talk and a wonderful demo that steps things up slowly!

  • @Indeedst
    @Indeedst 3 роки тому +3

    Great talk. Love this kind of practical way of explaining complex concepts.

  • @jobaca1000
    @jobaca1000 4 роки тому +6

    This type of talk is something i would pay to goto a conference and see.. Very nice!

  • @kettenbach
    @kettenbach 4 роки тому +3

    Awesome. Best description of what a container actually is. Very cool

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

    This is an amazing session. I like the way Liz explained the underlying concepts of containers from basic Linux concepts.

  • @Xhisorz1
    @Xhisorz1 3 роки тому +3

    Awesome Stuff. Great to have someone share their knowledge in a digestable way.

  • @SeuMadrugaRS
    @SeuMadrugaRS 3 роки тому +3

    Excellent! Congrats on this amazing Docker explanation. It was mind-blowing.

  • @felipealvarez1982
    @felipealvarez1982 6 років тому +58

    what a gangster live demo! Awesome!

  • @nissieln
    @nissieln 3 роки тому +6

    This is a Masterclass! Thank you for sharing this with us

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

    this was so great

  • @jjurksztowicz
    @jjurksztowicz 5 років тому +3

    Excellent demo, clears up a lot of confusion.

  • @kapilshekhar
    @kapilshekhar 4 роки тому +3

    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.

    • @kettenbach
      @kettenbach 4 роки тому +1

      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

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

    excellent presentation. God bless

  • @NunoGuerreiroLive
    @NunoGuerreiroLive 2 роки тому +1

    Amazing talk. Clear and brilliant. 5 Stars

  • @haphamdev
    @haphamdev 2 роки тому +1

    What a brilliant explanation.

  • @zustaz
    @zustaz 2 роки тому +2

    MINDBLOWING

  • @PandaGuzheng
    @PandaGuzheng 2 роки тому +1

    Love the talk. Very insightful. Thank you

  • @SimonBosley
    @SimonBosley 2 роки тому +1

    This is like the movie Inception, mind blowing!

  • @rkalyankumar
    @rkalyankumar 5 місяців тому

    Awesome! Had been using docker all these days. I can now create my own docker.

  • @MaheshKumar-so7cy
    @MaheshKumar-so7cy 2 роки тому +2

    amazing

  • @valentingeorgiev3760
    @valentingeorgiev3760 2 роки тому +1

    Simply said, great video!

  • @mysticaltech
    @mysticaltech 5 років тому +6

    This lady knows what she's doing, clarified my mind A LOT!

  • @truthgoddess
    @truthgoddess 2 роки тому +2

    I'm a bit late to the party, but that was really amazing!

  • @chiragsingla.
    @chiragsingla. 3 роки тому +1

    Just started with using docker great presentation

  • @garymcleanuk
    @garymcleanuk 3 роки тому +2

    Great video

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

    Great presentation

  • @dorsever
    @dorsever 3 роки тому +2

    Brilliant talk! thank you very much!

  • @mostafagomaa7183
    @mostafagomaa7183 3 роки тому +2

    Brilliant

  • @rohitnair9304
    @rohitnair9304 6 років тому +2

    That was a delightful talk/demo!

  • @mohamedhabas7391
    @mohamedhabas7391 2 роки тому +1

    This Lady is a Legend :)

  • @brianlewis6100
    @brianlewis6100 4 роки тому +2

    I think this is so great, and love the live demo!

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

    amazing!

  • @DaviAreias
    @DaviAreias 2 роки тому +3

    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 😂

  • @ashutoshparmar4917
    @ashutoshparmar4917 2 роки тому +1

    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?

  • @romandzhadan5546
    @romandzhadan5546 2 роки тому +1

    thank you!

  • @marcelino4828
    @marcelino4828 3 роки тому +1

    Nice video. Thank you.

  • @munusamyperumal4156
    @munusamyperumal4156 6 років тому +1

    it really helped in understanding namespaces and cgroups!!!

  • @boomsnaga
    @boomsnaga 2 роки тому +1

    Excellent, with a bit poor sound recording.

  • @varnanthirugnanasambandan559
    @varnanthirugnanasambandan559 4 роки тому +1

    Awesome!

  • @jeanpeuplu3862
    @jeanpeuplu3862 2 роки тому +1

    That's a pity that some people almost cover her voice, though. Made it harder to understand.

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

    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

  • @PinkuDebNath
    @PinkuDebNath 6 років тому +3

    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

    • @liquuidqd
      @liquuidqd 4 роки тому +5

      I think syscall.CLONE_NEWUTS only works as root user.

  • @martinho6450
    @martinho6450 3 роки тому

    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.

  • @zombiesbyte331
    @zombiesbyte331 3 роки тому +7

    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.

    • @Jenthura
      @Jenthura 3 роки тому +6

      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.

  • @Sunesen
    @Sunesen 3 роки тому

    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

  • @cazino4
    @cazino4 5 років тому +3

    What GO IDE is she using? The auto completion seems super responsive!!

    • @JonnyOlliffLee
      @JonnyOlliffLee 5 років тому +1

      It's Visual Studio Code, and there's probably the "Go for Visual Studio Code" extension by Microsoft for it :)

  • @Datoware
    @Datoware 6 років тому +4

    Nice presentation, enjoyed it - Here's the github link for anyone needing it.. github.com/lizrice/containers-from-scratch

  • @wejesuss-1104
    @wejesuss-1104 2 роки тому

    21:30 did I get it right? she mounted the host's proc folder inside the "vagrant-ubuntu-fs" ?

  • @johnfunk4313
    @johnfunk4313 3 роки тому +2

    If you don't know how to use docker, don't bother watching it doesn't help

  • @MichaelChen-t3n
    @MichaelChen-t3n 3 роки тому

    Awesome

  • @gordonccyuen5946
    @gordonccyuen5946 2 роки тому

    I'm sure the content is great but the video is shaking and the voice-recording hollow, how can I get the transcript instead?

  • @zeneto2157
    @zeneto2157 3 роки тому

    I maybe wrong, but limits os max memory can result a buffer overflow ? Sorry if this question is simple

    • @alaididnalid7660
      @alaididnalid7660 3 роки тому +1

      I think that can always happen no matter what. The point is that other programs don't choke up. (I think)

  • @filipemarques9144
    @filipemarques9144 6 років тому +3

    I like the VS Code theme! What is it?

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

    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

  • @googledev566
    @googledev566 4 роки тому

    _Please add English subtitles..._

  • @danielfrank4383
    @danielfrank4383 4 роки тому

    How much are y'all getting paid to use/implement docker technology?

  • @uma_r
    @uma_r 6 років тому

    Any comments! ?

  • @chriswilliams2788
    @chriswilliams2788 4 роки тому

    "Minus L"!??

  • @toby9999
    @toby9999 2 роки тому

    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.

  • @veroptrix
    @veroptrix 3 роки тому +3

    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.

  • @shandi1241
    @shandi1241 4 роки тому +1

    who could possibly press dislike, barbarians!

    • @jamesallen74
      @jamesallen74 3 роки тому +1

      I wish I could put a dislike on the idiots in the background talking while she's talking. Good lord some people are rude.

  • @1MinuteFlipDoc
    @1MinuteFlipDoc 3 роки тому

    lose lose.
    great topic and great presenter but horrible audio. oof!

  • @khirodmahanta3060
    @khirodmahanta3060 4 роки тому

    Kn kire

  • @barbaracarneiro17
    @barbaracarneiro17 4 роки тому

    :O

  • @KnowledgeResourceKR
    @KnowledgeResourceKR 2 роки тому +2

    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
    ua-cam.com/video/TlqD6UXdPHM/v-deo.html

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

    Say "hostinger" again, I dare you, I double dare you..

  • @swenmeinert3967
    @swenmeinert3967 4 роки тому +5

    If someone never heard about containers, he will probably never touch one after seeing this. Is hard to find out what she is talking about if you are not a Linux geek. A better name for this presentation would be: 'What is a container inside Linux and how it works'.

    • @javijee_
      @javijee_ 4 роки тому +3

      That's nonsense! "If someone never heard about containers" then why would that someone want to watch this video in the first place?

    • @mainichewitz
      @mainichewitz 3 роки тому +1

      @@javijee_ isn't it obvious? get a clue from the video title? someone who is a beginner in Docker and wants to start learning about it would want to watch this video. I agree with the previous comment. It's like wanting to learn how to drive a car and getting an explanation about how the engine works internally.

    • @javijee_
      @javijee_ 3 роки тому +3

      @@mainichewitz maybe you didn't get what "from scratch" means here. It doesn't mean "containers for dummies" but "building containers from scratch" (as opposed to using higher level tools like docker) as a way to show what they are. That implies some minimum knowledge of Linux programming. That was pretty obvious, from the title, to me.

    • @mainichewitz
      @mainichewitz 3 роки тому +2

      @@javijee_ Please be aware that this video is linked from the "101 tutorial" of Docker, so from that context, people coming here may have the expectations of learning about high level concepts of containers to get started with Docker. It's like going through a Python tutorial for the first time and finding a "Python from scratch" video (expecting to learn how to declare variables, write functions, etc.) only to get content about the inner workings of the language compiler. Other than the arguably misleading title, this talk is great for those who want to learn about the low-level aspects of containers.

    • @javijee_
      @javijee_ 3 роки тому +1

      @@mainichewitz Oh, I see. Thanks.

  • @crybuprofene7511
    @crybuprofene7511 3 роки тому

    Absolutely nauseating camera jitter on this.

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

    more confused than when I started.

  • @andrewfranklin5949
    @andrewfranklin5949 3 роки тому

    This could really benefit from some light editing. Conference speeches are always bad. Choose your audience

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

    If only I can like multiple times

  • @cazino4
    @cazino4 5 років тому +19

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

  • @sohanpatil6410
    @sohanpatil6410 4 роки тому +1

    Amazing!

  • @sudarsunperu9762
    @sudarsunperu9762 2 роки тому +8

    Seriously one of the best videos on the topic! So much info made so simple. I'm searching for all your other presentations :)

  • @dancewitharun
    @dancewitharun 2 роки тому +8

    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.

  • @rira12621
    @rira12621 3 місяці тому +1

    This is a great talk and it would have deserved significantly better Audio quality.

  • @henryleung5779
    @henryleung5779 2 роки тому +4

    Sensational! Never saw such brilliant explanation built up from the ground. Love it!

  • @Mehmehx
    @Mehmehx 4 роки тому +3

    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?

    • @alaididnalid7660
      @alaididnalid7660 3 роки тому

      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)

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

    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.

  • @manas_singh
    @manas_singh 3 роки тому +3

    Crystal clear intro to docker

  • @pavel_espinal
    @pavel_espinal 2 роки тому +2

    Brilliant exposition. Masterful balance.

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

    this was one of the best videos i watched in a while

  • @LGtheCat
    @LGtheCat 2 роки тому +1

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

    • @toby9999
      @toby9999 2 роки тому

      You got that right. I didn't understand any of it!

  • @jwb6583
    @jwb6583 4 роки тому +1

    Very clear and nice presentation!

  • @angeltodorov4577
    @angeltodorov4577 3 місяці тому

    How did she get the ubuntu-fs?

    • @jazzydan101
      @jazzydan101 Місяць тому +2

      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.