HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Golang UK Conf. 2016 - Liz Rice - What is a container, really? Let's write one in Go from scratch

GopherCon UK3 HN recommenders · recommended in 5 months, 2016-2019
YouTube
33K views · 10 years ago · talk · evergreen

Liz Rice builds a container from scratch in about 100 lines of Go, showing that a container is not a lightweight VM but a set of Linux kernel features and flags.

HN recommends it as an accessible way to remove the magic from Docker and understand how containers work.

C, C++, Rust, Go & systems languagesOperating systems & kernelsCloud, DevOps & reliability#containers#docker#go#namespaces#linux

5 comments from Hacker News

@hardwaresofton2019 · in “Billions wasted on Hadoop startups, the same will eventually be true of Docker”

This is precisely why I said the fact that someone would gloss over this is a red flag. The point is super critical . VMs are literally so hard to do correctly and in a performant fashion that parts of CPU instruction sets[0], and kernel subsystems (KVM[1]) were created to make them easier to run. Containers, in contrast are literally a few flags and a bunch of in-kernel antics. A few people, notably Liz Rice and Jessie Frazelle have given talks on how to make containers from scratch that are very illuminating for those that are interested: ▶ this video link [0]: link [1]: link

RecommendsView on HN
@hardwaresofton2018 · in “A Workshop on Linux Containers: Rebuild Docker from Scratch”

In the same vein: Building a container from scratch in Go (Liz Rice) @ Container Camp 2016 -> link What's a container really let's write one in go from sctach (Liz Rice) @ Golang UK Conference -> ▶ this video Cgroups, Namespaces and beyond: What are containers made from (Jerome Petazzoni) @ DockerCon 2015 - link Building Containers in Pure Bash and C (Jessica Frazelle) @ ContainerSummit 2016: link First two are basically the same talk, but it doesn't hurt to hear the same ideas more than once.

RecommendsView on HN
@hardwaresofton2017 · in “Ask HN: Good resources on learning how docker works under the hood?”

Super late to this thread but the best video I've ever seen on how docker/containers work is this one: Jessica Frazelle's (docker core maintainer) talk on how to build containers in pure bash and C: link There's also this one, which is similar: ▶ this video

RecommendsView on HN
@archevel2016 · in “Linux Container Internals”

I started by watching ▶ this video and reading link Also "man namespaces" on a linux machine will give some deeper documentation.

RecommendsView on HN
@e1g2016 · in “Dropping Linux capabilities to improve container security”

The core philosophy of "one app per container" has not changed. Strictly speaking, this will never change because containers - whether Docker, ACI, or OCI - are processes and not VMs . I recommend this accessible presentation on how to write a poor-mans Docker by hand[1] to remove some of the magic behind containers. As with any philosophy, there are many smart people who hold an opposite view. Docker itself is perhaps deviating from the architectural simplicity of container==process, while the underdog rkt is enforcing this approach even at the cost of user-land usability (e.g. rkt cannot run containers as daemons by itself). In practice, most containers must have an OS wrapping the application (unless you're distributing binaries), and that OS often ends up being a nearly fully baked version of Ubuntu/Debian/Fedora or whatever the person is most comfortable with outside of Docker. edit PS: One common exception to this philosophy is a short-lived container for admin/management/debugging. Having a full OS with devel/admin tools is useful for investigation/maintenance purposes, then you kill it and nothing is changed in prod. [1] ▶ this video

RecommendsView on HN
Containers From Scratch • Liz Rice • GOTO 201842:54

Containers From Scratch • Liz Rice • GOTO 2018

GOTO Conferences
321K views • 8 years ago
Cgroups, namespaces, and beyond: what are containers made from?54:25

Cgroups, namespaces, and beyond: what are containers made from?

Docker
268K views • 10 years ago
Container Hacks and Fun Images38:50

Container Hacks and Fun Images

Jessie Frazelle
40K views • 8 years ago
The future of Linux Containers5:22

The future of Linux Containers

dotcloudtv
138K views • 13 years ago
GopherCon 2014 Inside the Gophers Studio with Blake Mizerany48:19

GopherCon 2014 Inside the Gophers Studio with Blake Mizerany

Confreaks
8K views • 12 years ago
Run containers on bare metal already!41:12

Run containers on bare metal already!

Bryan Cantrill
40K views • 10 years ago
The Go Programming Language59:26

The Go Programming Language

Google TechTalks
406K views • 17 years ago
Google I/O 2012 - Meet the Go Team1:00:29

Google I/O 2012 - Meet the Go Team

Google for Developers
108K views • 14 years ago
GopherCon 2014 Opening Keynote by Rob Pike56:36

GopherCon 2014 Opening Keynote by Rob Pike

Confreaks
38K views • 12 years ago
OSCON 2010:  Rob Pike, "Public Static Void"12:31

OSCON 2010: Rob Pike, "Public Static Void"

O'Reilly
119K views • 16 years ago
GopherCon 2016: The Design of the Go Assembler - Rob Pike23:57

GopherCon 2016: The Design of the Go Assembler - Rob Pike

Gopher Academy
116K views • 10 years ago
Lang NEXT 2014 Panel  Systems Programming in 2014 and Beyond1:05:56

Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond

25msr
3K views • 8 years ago
Rob Pike about the target group of the Go programming language (golang)0:27

Rob Pike about the target group of the Go programming language (golang)

f8C4G86p KbqEFe47
7K views • 6 years ago
Hacking with Andrew and Brad: tip.golang.org1:02:49

Hacking with Andrew and Brad: tip.golang.org

The Go Programming Language
99K views • 11 years ago
RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy42:45

RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy

Confreaks
2K views • 9 years ago
Is It Time to Rewrite the Operating System in Rust?1:09:18

Is It Time to Rewrite the Operating System in Rust?

InfoQ
310K views • 7 years ago
Google I/O 2011: Writing Web Apps in Go51:12

Google I/O 2011: Writing Web Apps in Go

Google for Developers
135K views • 15 years ago
CppCon 2015: Sean Parent "Better Code: Data Structures"1:04:00

CppCon 2015: Sean Parent "Better Code: Data Structures"

CppCon
106K views • 11 years ago
Filesystem in Rust - Kent Overstreet35:16

Filesystem in Rust - Kent Overstreet

The Linux Foundation
124K views • 2 years ago
Google I/O 2012 - Go Concurrency Patterns51:27

Google I/O 2012 - Go Concurrency Patterns

Google for Developers
894K views • 14 years ago