Vad är det? Packetera mjukvara? Ersätta VMs?
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 inte byggt för att ersätta VMs, även om det i många fall kan användas för just det.
Jailes i FreeBSD 4.0 år 2000
Debian i Jailes
Många andra UNIX:ar
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.
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
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.
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.