Docker



Docker

0 0


docker-slides

Några slides om Docker som jag meckar med

On Github nsg / docker-slides

Docker

Vad är det? Packetera mjukvara? Ersätta VMs?

En ny applikation/plattform

LXC, cgroups, aufs/btrfs, ...

1.0 under sommaren tillsammans med RHEL7

Union Mounts/Filystem i lager

Fortfarande under aktiv utveckling

Har blivit mycket populärt under 2014

Ny applikation/plattform, linux containers/control groups

Filsystem i lager (union mounts), aufs/btrfs.

Under aktiv utveckling, version 1.0 i våras

Docker är byggt för att hantera ekosystemet för att packitera, administrera och skicka ut en applikation på din server.

Docker är inte byggt för att ersätta VMs, även om det i många fall kan användas för just det.

Cointainers är ej något nytt

Jailes i FreeBSD

*BSD, Solaris, AIX, ...

Jailes i FreeBSD 4.0 år 2000

Debian i Jailes

Många andra UNIX:ar

Säkerheten

Jag börjar med att skrämmas lite.

Docker är byggt för att packetera apppktioner som du litar på, på din miljö.

Inte för att stänga in en applikationer som du inte litar på. Vi har i dag en stabil 1.3.1 release och det finns fortfarande problem med säkerheten.

Om du är root i en Docker container så är du root på hosten.

Nu är det här inte Dockers fel utan allt i kerneln är inte klart, det kommer...

Kör applikationer som vanliga användare

Håll samma säkerhet som om applikationen körde direkt på maskinen

Vad kan Docker göra som inte X gör?

Förmodligen inte så mycket. Docker är bara ett annat sätt att göra det på med mycket fokus på utvecklarna. Allt Docker gör kan du göra med ren LXC, Jailes, KVM, EC2, ...

... och många gör det redan.

Det Docker erbjuder är en pakitering av tekniker med ett starkt community bakom dig. Ubuntu har länge varit Dockers de-facto dist men RHEL7 funkar utmärkt.

Demo

Det mest triviala du kan göra är att starta en container och köra /bin/bash i den. Låt oss göra det.

$ docker run -t -i ubuntu:14.04 /bin/bash

Unable to find image 'ubuntu:14.04' locally
Pulling repository ubuntu
5506de2b643b: Download complete 
511136ea3c5a: Download complete 
d497ad3926c8: Download complete 
ccb62158e970: Download complete 
e791be0477f2: Download complete 
3680052c0f5c: Download complete 
22093c35d77b: Download complete 
root@65868f7cf692:/#

Docker hittade inte ubuntu:14.04 lokalt så den gick till Dockers repository.

5506de2b643b är ett lager. Den här installationen bygger på 7 olika lager på varandra. När den är klar så skapade ett åttonde lager 65868f7cf692 som alla dina ändringar kommer hamna i.