1. Enheten för IT-stöd och
systemutveckling, ITS
Docker
i NyA
Jonas.A.Andersson@umu.se
2. Vad är docker?
• Open Source-projekt
• Företag
• Verktygslåda för containrar
– Skapa
– Leverera
• “Docker is not a virtualization technology,
it’s an application delivery technology”
https://blog.docker.com/2016/03/containers-are-not-vms/
3. Image ! Container
• En container är en instans av en image
• En image är ett snapshot av en container
• En image är
– Stateless
– Immutable
• En container ”ska antas vara”
– Stateless
– Immutable
3
4. Portabilitet
• PODA - Package Once Deploy Anywhere
Mac OS X Ubuntu CentOSWindows
Image
Image from http://blog.arungupta.me/docker-kubernetes-microservices-devoxx-2015/
5. Portabilitet
• PODA - Package Once Deploy Anywhere
Dev Extern test ProdTest
Image
Image from http://blog.arungupta.me/docker-kubernetes-microservices-devoxx-2015/
6. Varför Docker?
• Portabilitet - samma image i dev, test, prod
• Distribution – standardiserad effektiv infrastruktur
– Registry
– Images bygger på varandra
• Automatisering
– Mindre tid för installation och konfiguration
• Snabbt!
• Isolering - enklare resonera om, felsöka, testa
• Säkerhet - applikation isolerad i container
20. Enheten för IT-stöd och
systemutveckling, ITS
20
libcontainer
• Libcontainer provides a native Go implementation for creating containers with
namespaces, cgroups, capabilities, and filesystem access controls. It allows
you to manage the lifecycle of the container performing additional operations
after the container is created.
• Libcontainer provides a standard interface to making sandboxes or containers
inside an OS. With it, a container can interface in a predictable way with the
host OS's resources, security, and behavioral controls, and the app inside it can
be controlled as expected.
• libcontainer is the first attempt to standardize the way apps are packed up,
delivered, and run in isolation
• As libcontainer is ported to other languages, Docker will likely show up in
places it hasn't been deployed yet. Case in point: Microsoft Windows.
• https://github.com/opencontainers/runc/tree/master/libcontainer
• http://www.infoworld.com/article/2607966/application-virtualization/4-reasons-why-docker-s-
libcontainer-is-a-big-deal.html