SlideShare a Scribd company logo
1 of 20
Download to read offline
Enheten för IT-stöd och
systemutveckling, ITS
Docker
i NyA
Jonas.A.Andersson@umu.se
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/
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
Portabilitet
• PODA - Package Once Deploy Anywhere
Mac OS X Ubuntu CentOSWindows
Image
Image from http://blog.arungupta.me/docker-kubernetes-microservices-devoxx-2015/
Portabilitet
• PODA - Package Once Deploy Anywhere
Dev Extern test ProdTest
Image
Image from http://blog.arungupta.me/docker-kubernetes-microservices-devoxx-2015/
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
Enheten för IT-stöd och
systemutveckling, ITS
Dockerfile
7
Enheten för IT-stöd och
systemutveckling, ITS
8
Union File System
9
Image from: http://merrigrove.blogspot.se/2015/10/visualizing-docker-containers-and-images.html
Enheten för IT-stöd och
systemutveckling, ITS
Distribution

Release
2015-09-01
10
Test/Dev
11
Prod
12
Produktiv installation
1. Checka ut källkod
2. Editera (eventuellt) docker-compose.yml
– Volymer, certifikat, dburl, lösenord, …
3. docker-compose up -d
13
Demo
• docker-compose up –d
– stat
– (elk)
• docker-bench-security
14
Säkerhet?
• Kan jag lita på en docker-image på
Dockerhub?
• Dockerhub + Github = trygg(are)
• docker-bench-security
• Docker Security Scanning
15
Lärdomar?
• Docker rocks!
• Automatisera, automatisera, automatisera
16
Länktips
• https://github.com/spotify/docker-maven-plugin
• https://github.com/docker/docker-bench-security
– https://benchmarks.cisecurity.org/tools2/docker/
CIS_Docker_1.11.0_Benchmark_v1.0.0.pdf
• https://github.com/CenturyLinkLabs/watchtower
• https://github.com/lbjay/apache-elk-in-five-minutes
17
Framtid
• Docker swarm
• Fler NyA-komponenter i Docker
• Automatisera mera
– post-integration-test !
– automatisk release !
– Automatisk deploy
• Logserver - ELK ed
18
Enheten för IT-stöd och
systemutveckling, ITS
19
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

More Related Content

Similar to Docker i produktion på NyA

Alfresco administration stockholm meetup
Alfresco administration stockholm meetupAlfresco administration stockholm meetup
Alfresco administration stockholm meetupCarl Nordenfelt
 
Solidify continuous delivery 2014
Solidify   continuous delivery 2014Solidify   continuous delivery 2014
Solidify continuous delivery 2014Solidify
 
VT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageVT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageAnton Tibblin
 
TFS 2013 Deep-Dive på LabCenter 2014-02-06
TFS 2013 Deep-Dive på LabCenter 2014-02-06TFS 2013 Deep-Dive på LabCenter 2014-02-06
TFS 2013 Deep-Dive på LabCenter 2014-02-06Solidify
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptAnton Tibblin
 
Testare i continuousvärlden - vad gör jag om dagarna.
Testare i continuousvärlden - vad gör jag om dagarna.Testare i continuousvärlden - vad gör jag om dagarna.
Testare i continuousvärlden - vad gör jag om dagarna.ADDQ
 
Molnet och-big data-ake-edlund
Molnet och-big data-ake-edlundMolnet och-big data-ake-edlund
Molnet och-big data-ake-edlundAke Edlund
 
Virtualenv och Buildout med Django
Virtualenv och Buildout med DjangoVirtualenv och Buildout med Django
Virtualenv och Buildout med DjangoJonas Nockert
 
Seminarie citizenintegrator
Seminarie citizenintegratorSeminarie citizenintegrator
Seminarie citizenintegratorJeanette Öhlund
 
2013.11.29 ake edlund-tillvaxverket
2013.11.29 ake edlund-tillvaxverket2013.11.29 ake edlund-tillvaxverket
2013.11.29 ake edlund-tillvaxverketAke Edlund
 
HT15, DA354A - Introduktion till Webbprogrammering - Bottle
HT15, DA354A - Introduktion till Webbprogrammering - BottleHT15, DA354A - Introduktion till Webbprogrammering - Bottle
HT15, DA354A - Introduktion till Webbprogrammering - BottleAnton Tibblin
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerAnton Tibblin
 
VT16 - DA355A - Geolocation & media
VT16 - DA355A - Geolocation & mediaVT16 - DA355A - Geolocation & media
VT16 - DA355A - Geolocation & mediaAnton Tibblin
 
#wpbar 26/3 - Kom igång med bedrock-ansible
#wpbar 26/3 - Kom igång med bedrock-ansible#wpbar 26/3 - Kom igång med bedrock-ansible
#wpbar 26/3 - Kom igång med bedrock-ansibleOlaf Lindström
 
TV4 Teknikutveckling hos Telia
TV4 Teknikutveckling hos TeliaTV4 Teknikutveckling hos Telia
TV4 Teknikutveckling hos TeliaPer Åström
 
VT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverkVT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverkAnton Tibblin
 
Cygni Powertools 1.0
Cygni Powertools 1.0Cygni Powertools 1.0
Cygni Powertools 1.0guesta1bbb
 

Similar to Docker i produktion på NyA (20)

Vad är webb
Vad är webbVad är webb
Vad är webb
 
Alfresco administration stockholm meetup
Alfresco administration stockholm meetupAlfresco administration stockholm meetup
Alfresco administration stockholm meetup
 
Solidify continuous delivery 2014
Solidify   continuous delivery 2014Solidify   continuous delivery 2014
Solidify continuous delivery 2014
 
VT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageVT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package Manage
 
TFS 2013 Deep-Dive på LabCenter 2014-02-06
TFS 2013 Deep-Dive på LabCenter 2014-02-06TFS 2013 Deep-Dive på LabCenter 2014-02-06
TFS 2013 Deep-Dive på LabCenter 2014-02-06
 
OPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! LoadimpactOPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! Loadimpact
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScript
 
Testare i continuousvärlden - vad gör jag om dagarna.
Testare i continuousvärlden - vad gör jag om dagarna.Testare i continuousvärlden - vad gör jag om dagarna.
Testare i continuousvärlden - vad gör jag om dagarna.
 
Molnet och-big data-ake-edlund
Molnet och-big data-ake-edlundMolnet och-big data-ake-edlund
Molnet och-big data-ake-edlund
 
Virtualenv och Buildout med Django
Virtualenv och Buildout med DjangoVirtualenv och Buildout med Django
Virtualenv och Buildout med Django
 
Seminarie citizenintegrator
Seminarie citizenintegratorSeminarie citizenintegrator
Seminarie citizenintegrator
 
2013.11.29 ake edlund-tillvaxverket
2013.11.29 ake edlund-tillvaxverket2013.11.29 ake edlund-tillvaxverket
2013.11.29 ake edlund-tillvaxverket
 
jQuery & Ajax
jQuery & AjaxjQuery & Ajax
jQuery & Ajax
 
HT15, DA354A - Introduktion till Webbprogrammering - Bottle
HT15, DA354A - Introduktion till Webbprogrammering - BottleHT15, DA354A - Introduktion till Webbprogrammering - Bottle
HT15, DA354A - Introduktion till Webbprogrammering - Bottle
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
 
VT16 - DA355A - Geolocation & media
VT16 - DA355A - Geolocation & mediaVT16 - DA355A - Geolocation & media
VT16 - DA355A - Geolocation & media
 
#wpbar 26/3 - Kom igång med bedrock-ansible
#wpbar 26/3 - Kom igång med bedrock-ansible#wpbar 26/3 - Kom igång med bedrock-ansible
#wpbar 26/3 - Kom igång med bedrock-ansible
 
TV4 Teknikutveckling hos Telia
TV4 Teknikutveckling hos TeliaTV4 Teknikutveckling hos Telia
TV4 Teknikutveckling hos Telia
 
VT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverkVT2019 - DA355A - JS-ramverk
VT2019 - DA355A - JS-ramverk
 
Cygni Powertools 1.0
Cygni Powertools 1.0Cygni Powertools 1.0
Cygni Powertools 1.0
 

Docker i produktion på NyA

  • 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
  • 7. Enheten för IT-stöd och systemutveckling, ITS Dockerfile 7
  • 8. Enheten för IT-stöd och systemutveckling, ITS 8
  • 9. Union File System 9 Image from: http://merrigrove.blogspot.se/2015/10/visualizing-docker-containers-and-images.html
  • 10. Enheten för IT-stöd och systemutveckling, ITS Distribution
 Release 2015-09-01 10
  • 13. Produktiv installation 1. Checka ut källkod 2. Editera (eventuellt) docker-compose.yml – Volymer, certifikat, dburl, lösenord, … 3. docker-compose up -d 13
  • 14. Demo • docker-compose up –d – stat – (elk) • docker-bench-security 14
  • 15. Säkerhet? • Kan jag lita på en docker-image på Dockerhub? • Dockerhub + Github = trygg(are) • docker-bench-security • Docker Security Scanning 15
  • 16. Lärdomar? • Docker rocks! • Automatisera, automatisera, automatisera 16
  • 17. Länktips • https://github.com/spotify/docker-maven-plugin • https://github.com/docker/docker-bench-security – https://benchmarks.cisecurity.org/tools2/docker/ CIS_Docker_1.11.0_Benchmark_v1.0.0.pdf • https://github.com/CenturyLinkLabs/watchtower • https://github.com/lbjay/apache-elk-in-five-minutes 17
  • 18. Framtid • Docker swarm • Fler NyA-komponenter i Docker • Automatisera mera – post-integration-test ! – automatisk release ! – Automatisk deploy • Logserver - ELK ed 18
  • 19. Enheten för IT-stöd och systemutveckling, ITS 19
  • 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