SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Docker for development
Why and how to use docker for development
Nelis Boucké
+32 486 76 12 71
@nelisboucke
in/nelis
Erik Talboom
+32 498 43 29 67
@talboomerik
in/talboomerik
Dev, no ops!
First we show, then you do
Content
● Why a session on docker?
● What is docker?
● Usage during development?
● What did we discover?
SHOW, DON’T TELL
Demo 1: Develop a website
Demo: Develop a website
Goal: use docker during development of a website
a. Html, php, javascript
b. Use volume to share website content between host and docker
What is docker?
“Docker - build, ship and run any app. Anywhere”
“Docker is a platform for developing, shipping and running applications using container virtualization
technology”
“Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run:
code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will
always run the same, regardless of the environment it is running in.”
What is docker?
“Docker - build, ship and run any app. Anywhere”
“Docker is a platform for developing, shipping and running applications using
container virtualization technology”
“Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run:
code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will
always run the same, regardless of the environment it is running in.”
What is docker?
“Docker - build, ship and run any app. Anywhere”
“Docker is a platform for developing, shipping and running applications using container virtualization
technology”
“Docker containers wrap up a piece of software in a complete filesystem that
contains everything it needs to run: code, runtime, system tools, system libraries –
anything you can install on a server. This guarantees that it will always run the
same, regardless of the environment it is running in.”
Virtual machines vs Containers
Containers are like onions
Containers share
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
What does it mean for development?
● Lightweight
● Simple test environment
● One person makes it work
○ All external packages included!
● Different version in parallel
Demo 2: Multiple servers
Demo: Java Spring bootstrap
Goal: use docker during development of a java application
a. Database
b. Building and package your app in docker
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
Demo: Microservices
Goal: setup a scalable microservice app
https://github.com/docker/example-voting-app
Imagine…
Imagine: architecture landscape
CRM Billing Finance
Angular app
Market appBPM ServiceMix
Identity
MySql Postgres
Reverse proxy Admin access gatewaySquid
SFTP
server
Imagine: scenario to onboard a customer
CRM Billing Finance
Angular app
Market appBPM ServiceMix
Identity
MySql Postgres
Reverse proxy Admin access gatewaySquid
SFTP
server
● Lightweight!
● Easy test environment with multiple servers!
● Real ‘container’
Difference with Vagrant?
● External packages encapsulated (build time of Docker)
● Less resources
What does it mean for development?
Artifacts
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
Demo 3: CI
Imagine…
Imagine: lots of people...
Demo: Per branch testing
Goal: simplify testing for each branch
What does it mean for development?
● Isolated environments for focused testing
● Fast end users testing and feedback!
● No need to run complex environment locally
Demo 4: AWS
Demo: AWS swarm
● Transparent app over a set of nodes
● Scale
● Update a node
What are the different components?
Docker engine
Docker hub
Docker machine
Docker swarm
Docker compose
Kitematic
What does this mean for development?
● Enables mixed technologies
● Plays really well with microservices
● Higher flexibility
○ Deployment options
○ Scaling
○ Updates
→ More fundamental shift then some people realise
Data storage
Docker volumes
“A volume is a designated directory in a container, which is designed to persist data,
independent of the container’s lifecycle”
+ Volume changes are excluded when updating an image
+ Persist when a container is deleted
+ Can be mapped to a host folder
+ Can be shared between containers
How to use volumes?
What to use volumes for?
Closing remarks
● Reproducible and reliable
● Easy and fast to build, test, release
● Potentially shippable product focus
Underlying principles
How to solve this?
Challenges introducing docker
● Learning curve for your developers and ops team.
○ You really need some Ops knowledge to set this up.
● Not everything is easy to dockerize well (e.g. Jenkins)
● Docker for dev != Docker in production
● Docker environment is fast changing, and comes with a whole new set of tools
● Docker stability in production (disk drivers, network setup, connection with
Kernel)
● Docker security?
What’s next?
Dev + ops!
Thank you
Nelis Boucke
+32 486 76 12 71
@nelisboucke
in/nelis
Erik Talboom
+32 498 43 29 67
@talboomerik
in/talboomerik
http://urls.colearn.be/2fYkokI

Más contenido relacionado

La actualidad más candente

Intro to Docker (hands-on session)
Intro to Docker (hands-on session)Intro to Docker (hands-on session)
Intro to Docker (hands-on session)Nilesh ☁ Londhe
 
Docker for developers
Docker for developersDocker for developers
Docker for developerssparkfabrik
 
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker ComposeContainers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker ComposeRaziel Tabib (Join our team)
 
Docker Non Technical Presentation
Docker Non Technical PresentationDocker Non Technical Presentation
Docker Non Technical PresentationJérôme Petazzoni
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyDocker, Inc.
 
Kube what? for NodeJs developers
Kube what? for NodeJs developersKube what? for NodeJs developers
Kube what? for NodeJs developersAll Things Open
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeTales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeDocker, Inc.
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralovedamovsky
 
VASCAN - Docker and Security
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and SecurityMichael Irwin
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersYajushi Srivastava
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDr Ganesh Iyer
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationSuresh Balla
 
Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Docker, Inc.
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan Hodgin
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAdam Štipák
 

La actualidad más candente (20)

Docker in Production
Docker in ProductionDocker in Production
Docker in Production
 
Intro to Docker (hands-on session)
Intro to Docker (hands-on session)Intro to Docker (hands-on session)
Intro to Docker (hands-on session)
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker ComposeContainers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
 
Docker Non Technical Presentation
Docker Non Technical PresentationDocker Non Technical Presentation
Docker Non Technical Presentation
 
Docker 101
Docker 101Docker 101
Docker 101
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
 
Docker for dummies
Docker for dummiesDocker for dummies
Docker for dummies
 
Kube what? for NodeJs developers
Kube what? for NodeJs developersKube what? for NodeJs developers
Kube what? for NodeJs developers
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeTales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
VASCAN - Docker and Security
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and Security
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
 
Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 

Destacado

Modernizacion 2013
Modernizacion 2013Modernizacion 2013
Modernizacion 2013ANA CODINA
 
Theoretical genre
Theoretical genreTheoretical genre
Theoretical genreimunoztorre
 
Virus informatico 306
Virus informatico 306Virus informatico 306
Virus informatico 306Donovan Cano
 
(Erika) iphone 4 rey david
(Erika) iphone 4 rey david(Erika) iphone 4 rey david
(Erika) iphone 4 rey davidJessicalvarez
 
Inspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - PrivacyInspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - PrivacyTom Fleerackers
 

Destacado (19)

Curso de historia
Curso de historiaCurso de historia
Curso de historia
 
Componentes del universo
Componentes del universoComponentes del universo
Componentes del universo
 
Act1 ev
Act1 evAct1 ev
Act1 ev
 
Modernizacion 2013
Modernizacion 2013Modernizacion 2013
Modernizacion 2013
 
Theoretical genre
Theoretical genreTheoretical genre
Theoretical genre
 
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
ДНЗ №688. Звіт про результати підготовчого етапу дослідно-експерементальної р...
 
Virus informatico 306
Virus informatico 306Virus informatico 306
Virus informatico 306
 
Resume
ResumeResume
Resume
 
Capítulo 9 grupo 10
Capítulo 9   grupo 10Capítulo 9   grupo 10
Capítulo 9 grupo 10
 
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
ДНЗ №34. Звіт про проведення підготовчого етапу дослідно-експериментальної ро...
 
(Erika) iphone 4 rey david
(Erika) iphone 4 rey david(Erika) iphone 4 rey david
(Erika) iphone 4 rey david
 
Sürgülü dolap satmak istiyorum
Sürgülü dolap satmak istiyorumSürgülü dolap satmak istiyorum
Sürgülü dolap satmak istiyorum
 
BCV16.3
BCV16.3BCV16.3
BCV16.3
 
Liturgia 4
Liturgia 4Liturgia 4
Liturgia 4
 
Tallerpractico 10 subgrupo 5 g1
Tallerpractico 10 subgrupo 5  g1Tallerpractico 10 subgrupo 5  g1
Tallerpractico 10 subgrupo 5 g1
 
Inspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - PrivacyInspirational Lecture - Philippe De Backer - Privacy
Inspirational Lecture - Philippe De Backer - Privacy
 
Matematicas ENSJ
Matematicas ENSJMatematicas ENSJ
Matematicas ENSJ
 
Chava y sergio
Chava y sergioChava y sergio
Chava y sergio
 
Final pro modelpfs2015loop
Final pro modelpfs2015loopFinal pro modelpfs2015loop
Final pro modelpfs2015loop
 

Similar a Docker for dev

A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KuberneteszekeLabs Technologies
 
Docker - An Introduction
Docker - An IntroductionDocker - An Introduction
Docker - An IntroductionKnoldus Inc.
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Docker for developers
Docker for developersDocker for developers
Docker for developersAnvay Patil
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with dockerVishwas N
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the Worlddamovsky
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and YouBalaBit
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDocker, Inc.
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldzekeLabs Technologies
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftYusuf Hadiwinata Sutandar
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture materialAnkit Gupta
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for RealistsOracle Developers
 

Similar a Docker for dev (20)

A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Docker - An Introduction
Docker - An IntroductionDocker - An Introduction
Docker - An Introduction
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Azure ai on premises with docker
Azure ai on premises with  dockerAzure ai on premises with  docker
Azure ai on premises with docker
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker slides
Docker slidesDocker slides
Docker slides
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
DCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and ArchitectureDCSF 19 Docker Enterprise Platform and Architecture
DCSF 19 Docker Enterprise Platform and Architecture
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 

Más de Erik Talboom

Gamestorming (opnieuw) leren samen spelen
Gamestorming  (opnieuw) leren samen spelenGamestorming  (opnieuw) leren samen spelen
Gamestorming (opnieuw) leren samen spelenErik Talboom
 
Why agile - ING bootcamp
Why agile - ING bootcampWhy agile - ING bootcamp
Why agile - ING bootcampErik Talboom
 
AgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: KeynoteAgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: KeynoteErik Talboom
 
AgileTour2010 Ghent Keynote
AgileTour2010 Ghent KeynoteAgileTour2010 Ghent Keynote
AgileTour2010 Ghent KeynoteErik Talboom
 
Agile software developement
Agile software developementAgile software developement
Agile software developementErik Talboom
 
The agile state of mind
The agile state of mindThe agile state of mind
The agile state of mindErik Talboom
 

Más de Erik Talboom (7)

Gamestorming (opnieuw) leren samen spelen
Gamestorming  (opnieuw) leren samen spelenGamestorming  (opnieuw) leren samen spelen
Gamestorming (opnieuw) leren samen spelen
 
Cqrs in babysteps
Cqrs in babystepsCqrs in babysteps
Cqrs in babysteps
 
Why agile - ING bootcamp
Why agile - ING bootcampWhy agile - ING bootcamp
Why agile - ING bootcamp
 
AgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: KeynoteAgileTour2010 Belgium - Ghent: Keynote
AgileTour2010 Belgium - Ghent: Keynote
 
AgileTour2010 Ghent Keynote
AgileTour2010 Ghent KeynoteAgileTour2010 Ghent Keynote
AgileTour2010 Ghent Keynote
 
Agile software developement
Agile software developementAgile software developement
Agile software developement
 
The agile state of mind
The agile state of mindThe agile state of mind
The agile state of mind
 

Último

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Docker for dev

  • 1. Docker for development Why and how to use docker for development Nelis Boucké +32 486 76 12 71 @nelisboucke in/nelis Erik Talboom +32 498 43 29 67 @talboomerik in/talboomerik
  • 3. First we show, then you do
  • 4. Content ● Why a session on docker? ● What is docker? ● Usage during development? ● What did we discover?
  • 6. Demo 1: Develop a website
  • 7. Demo: Develop a website Goal: use docker during development of a website a. Html, php, javascript b. Use volume to share website content between host and docker
  • 8. What is docker? “Docker - build, ship and run any app. Anywhere” “Docker is a platform for developing, shipping and running applications using container virtualization technology” “Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.”
  • 9. What is docker? “Docker - build, ship and run any app. Anywhere” “Docker is a platform for developing, shipping and running applications using container virtualization technology” “Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.”
  • 10. What is docker? “Docker - build, ship and run any app. Anywhere” “Docker is a platform for developing, shipping and running applications using container virtualization technology” “Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.”
  • 11. Virtual machines vs Containers
  • 14. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 15. What does it mean for development? ● Lightweight ● Simple test environment ● One person makes it work ○ All external packages included! ● Different version in parallel
  • 16. Demo 2: Multiple servers
  • 17. Demo: Java Spring bootstrap Goal: use docker during development of a java application a. Database b. Building and package your app in docker
  • 18. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 19. Demo: Microservices Goal: setup a scalable microservice app https://github.com/docker/example-voting-app
  • 21. Imagine: architecture landscape CRM Billing Finance Angular app Market appBPM ServiceMix Identity MySql Postgres Reverse proxy Admin access gatewaySquid SFTP server
  • 22. Imagine: scenario to onboard a customer CRM Billing Finance Angular app Market appBPM ServiceMix Identity MySql Postgres Reverse proxy Admin access gatewaySquid SFTP server
  • 23. ● Lightweight! ● Easy test environment with multiple servers! ● Real ‘container’ Difference with Vagrant? ● External packages encapsulated (build time of Docker) ● Less resources What does it mean for development?
  • 25. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 28. Imagine: lots of people...
  • 29. Demo: Per branch testing Goal: simplify testing for each branch
  • 30. What does it mean for development? ● Isolated environments for focused testing ● Fast end users testing and feedback! ● No need to run complex environment locally
  • 32. Demo: AWS swarm ● Transparent app over a set of nodes ● Scale ● Update a node
  • 33. What are the different components? Docker engine Docker hub Docker machine Docker swarm Docker compose Kitematic
  • 34. What does this mean for development? ● Enables mixed technologies ● Plays really well with microservices ● Higher flexibility ○ Deployment options ○ Scaling ○ Updates → More fundamental shift then some people realise
  • 36. Docker volumes “A volume is a designated directory in a container, which is designed to persist data, independent of the container’s lifecycle” + Volume changes are excluded when updating an image + Persist when a container is deleted + Can be mapped to a host folder + Can be shared between containers
  • 37. How to use volumes?
  • 38. What to use volumes for?
  • 40. ● Reproducible and reliable ● Easy and fast to build, test, release ● Potentially shippable product focus Underlying principles
  • 41. How to solve this?
  • 42. Challenges introducing docker ● Learning curve for your developers and ops team. ○ You really need some Ops knowledge to set this up. ● Not everything is easy to dockerize well (e.g. Jenkins) ● Docker for dev != Docker in production ● Docker environment is fast changing, and comes with a whole new set of tools ● Docker stability in production (disk drivers, network setup, connection with Kernel) ● Docker security?
  • 44. Thank you Nelis Boucke +32 486 76 12 71 @nelisboucke in/nelis Erik Talboom +32 498 43 29 67 @talboomerik in/talboomerik