SlideShare a Scribd company logo
Docker
expanding beyond localhost
Carlos Badenes-Olmedo,
Ontology Engineering Group
Universidad Politécnica de Madrid,
Spain
cbadenes@fi.upm.es

@carbadol
cbadenes.github.io

cbadenes
Docker: expanding beyond localhost
The Challenge
2
You are starting a
new project
Docker: expanding beyond localhost
The Challenge
3
Multiplicity of Stacks They interact appropriately?
Multiplicity of HW environments Can I migrate smoothly and quickly?
static website
• nignx 1.5
• mod security
• openssl
• bootstrap 2
User DB
• postgresql
• pgv8
• v8
Analytics DB
• hadoop
• hive
• thrift
• OpenJDK
Background
Workers
• Java
• Spark
• Scala
Queue
• Elasticsearch
• admin-plugin
Developer`s laptop Contributor`s laptop Public Cloud QA Server Production Cluster
Docker: expanding beyond localhost
The Challenge
4
The Matrix From Hell
static
website
User
DB
Analytics
DB
Queue
Background
Workers
Dev
Laptop
Cont
Laptop
Public
Cloud
QA
Server
Production
Cluster
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Docker: expanding beyond localhost
Cargo Transport Pre-1960
5
Multiplicity of Goods Worry about how goods interact
(e.g. coffee beans next to spices)
Multiplicity of transports Can I transport smoothly and quickly?
Docker: expanding beyond localhost
The Challenge
6
Also a Matrix From Hell
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Docker: expanding beyond localhost
Cargo Transport Pre-1960
7
Solution: Intermodal Shipping Container
A standard container
that is loaded with any
goods, and stays
sealed until it reaches
final delivery ..
.. in between, can be
loaded and unloaded,
stacked, transported
efficiently over long
distances, and
transferred from one
of transport to other
Docker: expanding beyond localhost
¡
8
static website
• nignx 1.5
• mod security
• openssl
• bootstrap 2
User DB
• postgresql
• pgv8
• v8
Analytics DB
• hadoop
• hive
• thrift
• OpenJDK
Background
Workers
• Java
• Spark
• Scala
Queue
• Elasticsearch
• admin-plugin
Developer`s laptop Contributor`s laptop Public Cloud QA Server Production Cluster
Docker is a shipping container system for code
An engine that
enables any payload
to be encapsulated as
a lightweight, portable,
self-sufficient
container …
… that can be
manipulated using
standard operations
and run consistently
on virtually any hw
platform
Docker: expanding beyond localhost
The Challenge
9
Docker eliminates the Matrix From Hell
static
website
User
DB
Analytics
DB
Queue
Background
Workers
Dev
Laptop
Cont
Laptop
Public
Cloud
QA
Server
Production
Cluster
Docker: expanding beyond localhost
The Basics
10
Yet Another
Virtual Machine?
Docker: expanding beyond localhost
The Basics
11
This is a Virtual Machine
Docker: expanding beyond localhost
The Basics
12
and these are Containers
Docker: expanding beyond localhost
The Basics
13
VMs vs Containers
Docker: expanding beyond localhost
The Basics
14
Why are Docker containers lightweight?
Docker: expanding beyond localhost
The Basics
15
Docker workflow
Docker: expanding beyond localhost
The Basics
16
Docker changes and updates
Docker: expanding beyond localhost
The Artifacts
17
Main actors
Docker: expanding beyond localhost
The Image
18
Docker Image
• A filesystem and parameters to use it at runtime (Dockerfile)
• It doesn’t have state
• All layers are read only
• Layers are shared between images
• Update requires just a download of the new layer
• ‘docker commit’ to ‘save’ changes
Dockerfile (librairy/nlp-en-service)
Docker: expanding beyond localhost
The Image
19
Docker Layers
Docker: expanding beyond localhost
The Image
20
Dockerfile (mysql)
Docker: expanding beyond localhost
The Image
21
Docker Images
Docker: expanding beyond localhost
The Containers
22
Docker Container
• A (running) instance of an image
• Add a read/write layer on top of the image
• Image is not cloned
• Spin up dozens of containers
Docker: expanding beyond localhost
The Approach
23
Code is the enemy
the more you have,
the slower you go
Docker: expanding beyond localhost
The Approach
24
Docker: expanding beyond localhost
The Approach
25
• function calls within one process • pass messages between processes
Docker: expanding beyond localhost
The Way
26
not only Create,
but also Reuse and Extend
Docker: expanding beyond localhost
The Way
27
Docker Search
Docker: expanding beyond localhost
The Way
28
Docker Hub (https://hub.docker.com)
Docker: expanding beyond localhost
The Way
29
Docker Store (https://store.docker.com)
Docker: expanding beyond localhost
The Way
30
Docker: expanding beyond localhost
References
31
• What is Docker?

https://www.docker.com

• “Infrastructure as code: running microservices on AWS using Docker, Terraform, and
ECS" (Yevgeniy Brikman)

https://www.slideshare.net/brikis98/infrastructure-as-code-running-microservices-on-aws-using-docker-terraform-and-ecs

• "Microservices, Containers and Docker for Dummies"(Joost Hietbrink)

https://www.slideshare.net/joosthietbrink/microservices-containers-and-docker-for-dummies

• “Microservices” (Martin Fowler)

https://www.martinfowler.com/articles/microservices.html
cbadenes@fi.upm.es

@carbadol
cbadenes.github.io

cbadenes

More Related Content

What's hot

Declarative Import with Magento 2 Import Framework (M2IF)
Declarative Import with Magento 2 Import Framework (M2IF)Declarative Import with Magento 2 Import Framework (M2IF)
Declarative Import with Magento 2 Import Framework (M2IF)
Tim Wagner
 
CQRS - Eine Einführung - NOUG 2011
CQRS - Eine Einführung - NOUG 2011CQRS - Eine Einführung - NOUG 2011
CQRS - Eine Einführung - NOUG 2011
Dennis Traub
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in Kubernetes
QAware GmbH
 
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryCloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
QAware GmbH
 
Efficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVMEfficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVM
QAware GmbH
 
Go for Operations
Go for OperationsGo for Operations
Go for Operations
QAware GmbH
 
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
tdc-globalcode
 
You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!
VMware Tanzu
 
TDC2018FLN | Trilha Containers - Redes em containers
TDC2018FLN | Trilha Containers - Redes em containersTDC2018FLN | Trilha Containers - Redes em containers
TDC2018FLN | Trilha Containers - Redes em containers
tdc-globalcode
 
Continuous (Non)-Functional Testing of Microservices on k8s
Continuous (Non)-Functional Testing of Microservices on k8s Continuous (Non)-Functional Testing of Microservices on k8s
Continuous (Non)-Functional Testing of Microservices on k8s
QAware GmbH
 
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop:  Effizientes DevOps-Tooling mit GobetterCode Workshop:  Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit Go
QAware GmbH
 
Ich brauche einen Abstraktions-Layer für meine Cloud
Ich brauche einen Abstraktions-Layer für meine CloudIch brauche einen Abstraktions-Layer für meine Cloud
Ich brauche einen Abstraktions-Layer für meine Cloud
QAware GmbH
 
Serverless architectures with Fn Project
Serverless architectures with Fn ProjectServerless architectures with Fn Project
Serverless architectures with Fn Project
Sven Bernhardt
 
Improving security with Istio | DevNation Tech Talk
Improving security with Istio | DevNation Tech TalkImproving security with Istio | DevNation Tech Talk
Improving security with Istio | DevNation Tech Talk
Red Hat Developers
 
Continuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8sContinuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8s
QAware GmbH
 
Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016
Opsta
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
Red Hat Developers
 
Nodejs overview
Nodejs overviewNodejs overview
Nodejs overview
Nicola Del Gobbo
 
Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017
Gianluca Arbezzano
 
猿でもわかる Helm
猿でもわかる Helm猿でもわかる Helm
猿でもわかる Helm
Tsuyoshi Miyake
 

What's hot (20)

Declarative Import with Magento 2 Import Framework (M2IF)
Declarative Import with Magento 2 Import Framework (M2IF)Declarative Import with Magento 2 Import Framework (M2IF)
Declarative Import with Magento 2 Import Framework (M2IF)
 
CQRS - Eine Einführung - NOUG 2011
CQRS - Eine Einführung - NOUG 2011CQRS - Eine Einführung - NOUG 2011
CQRS - Eine Einführung - NOUG 2011
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in Kubernetes
 
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryCloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
 
Efficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVMEfficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVM
 
Go for Operations
Go for OperationsGo for Operations
Go for Operations
 
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
 
You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!
 
TDC2018FLN | Trilha Containers - Redes em containers
TDC2018FLN | Trilha Containers - Redes em containersTDC2018FLN | Trilha Containers - Redes em containers
TDC2018FLN | Trilha Containers - Redes em containers
 
Continuous (Non)-Functional Testing of Microservices on k8s
Continuous (Non)-Functional Testing of Microservices on k8s Continuous (Non)-Functional Testing of Microservices on k8s
Continuous (Non)-Functional Testing of Microservices on k8s
 
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop:  Effizientes DevOps-Tooling mit GobetterCode Workshop:  Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit Go
 
Ich brauche einen Abstraktions-Layer für meine Cloud
Ich brauche einen Abstraktions-Layer für meine CloudIch brauche einen Abstraktions-Layer für meine Cloud
Ich brauche einen Abstraktions-Layer für meine Cloud
 
Serverless architectures with Fn Project
Serverless architectures with Fn ProjectServerless architectures with Fn Project
Serverless architectures with Fn Project
 
Improving security with Istio | DevNation Tech Talk
Improving security with Istio | DevNation Tech TalkImproving security with Istio | DevNation Tech Talk
Improving security with Istio | DevNation Tech Talk
 
Continuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8sContinuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8s
 
Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016Introduction to Kubernetes - Docker Global Mentor Week 2016
Introduction to Kubernetes - Docker Global Mentor Week 2016
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
 
Nodejs overview
Nodejs overviewNodejs overview
Nodejs overview
 
Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017
 
猿でもわかる Helm
猿でもわかる Helm猿でもわかる Helm
猿でもわかる Helm
 

Similar to Docker Introduction

Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
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
dotCloud
 
Docker
DockerDocker
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
Will Kinard
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, Inc.
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
damovsky
 
Docker basic
Docker basicDocker basic
Docker basic
Somenath Ghosh
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Wyn B. Van Devanter
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
Guatemala User Group
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
Webinar Docker Tri Series
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri Series
Newt Global Consulting LLC
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall Webinar
Travis Wright
 
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
damovsky
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Frank Munz
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
RightScale
 
Docker for dev
Docker for devDocker for dev
Docker for dev
Erik Talboom
 

Similar to Docker Introduction (20)

Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
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
DockerDocker
Docker
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
Docker basic
Docker basicDocker basic
Docker basic
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Webinar Docker Tri Series
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri Series
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall Webinar
 
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
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 

More from Carlos Badenes-Olmedo

NLP and Knowledge Graphs
NLP and Knowledge GraphsNLP and Knowledge Graphs
NLP and Knowledge Graphs
Carlos Badenes-Olmedo
 
Semantically-enabled Browsing of Large Multilingual Document Collections
Semantically-enabled Browsing of Large Multilingual Document CollectionsSemantically-enabled Browsing of Large Multilingual Document Collections
Semantically-enabled Browsing of Large Multilingual Document Collections
Carlos Badenes-Olmedo
 
Scalable Cross-lingual Document Similarity through Language-specific Concept ...
Scalable Cross-lingual Document Similarity through Language-specific Concept ...Scalable Cross-lingual Document Similarity through Language-specific Concept ...
Scalable Cross-lingual Document Similarity through Language-specific Concept ...
Carlos Badenes-Olmedo
 
Crosslingual search-engine
Crosslingual search-engineCrosslingual search-engine
Crosslingual search-engine
Carlos Badenes-Olmedo
 
Cross-lingual Similarity
Cross-lingual SimilarityCross-lingual Similarity
Cross-lingual Similarity
Carlos Badenes-Olmedo
 
Multilingual searchapi
Multilingual searchapiMultilingual searchapi
Multilingual searchapi
Carlos Badenes-Olmedo
 
Multilingual document analysis
Multilingual document analysisMultilingual document analysis
Multilingual document analysis
Carlos Badenes-Olmedo
 
Topic Models Exploration
Topic Models ExplorationTopic Models Exploration
Topic Models Exploration
Carlos Badenes-Olmedo
 
Distributing Text Mining tasks with librAIry
Distributing Text Mining tasks with librAIryDistributing Text Mining tasks with librAIry
Distributing Text Mining tasks with librAIry
Carlos Badenes-Olmedo
 
Probabilistic Topic models
Probabilistic Topic modelsProbabilistic Topic models
Probabilistic Topic models
Carlos Badenes-Olmedo
 
Efficient Clustering from Distributions over Topics
Efficient Clustering from Distributions over TopicsEfficient Clustering from Distributions over Topics
Efficient Clustering from Distributions over Topics
Carlos Badenes-Olmedo
 

More from Carlos Badenes-Olmedo (11)

NLP and Knowledge Graphs
NLP and Knowledge GraphsNLP and Knowledge Graphs
NLP and Knowledge Graphs
 
Semantically-enabled Browsing of Large Multilingual Document Collections
Semantically-enabled Browsing of Large Multilingual Document CollectionsSemantically-enabled Browsing of Large Multilingual Document Collections
Semantically-enabled Browsing of Large Multilingual Document Collections
 
Scalable Cross-lingual Document Similarity through Language-specific Concept ...
Scalable Cross-lingual Document Similarity through Language-specific Concept ...Scalable Cross-lingual Document Similarity through Language-specific Concept ...
Scalable Cross-lingual Document Similarity through Language-specific Concept ...
 
Crosslingual search-engine
Crosslingual search-engineCrosslingual search-engine
Crosslingual search-engine
 
Cross-lingual Similarity
Cross-lingual SimilarityCross-lingual Similarity
Cross-lingual Similarity
 
Multilingual searchapi
Multilingual searchapiMultilingual searchapi
Multilingual searchapi
 
Multilingual document analysis
Multilingual document analysisMultilingual document analysis
Multilingual document analysis
 
Topic Models Exploration
Topic Models ExplorationTopic Models Exploration
Topic Models Exploration
 
Distributing Text Mining tasks with librAIry
Distributing Text Mining tasks with librAIryDistributing Text Mining tasks with librAIry
Distributing Text Mining tasks with librAIry
 
Probabilistic Topic models
Probabilistic Topic modelsProbabilistic Topic models
Probabilistic Topic models
 
Efficient Clustering from Distributions over Topics
Efficient Clustering from Distributions over TopicsEfficient Clustering from Distributions over Topics
Efficient Clustering from Distributions over Topics
 

Recently uploaded

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 

Recently uploaded (20)

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 

Docker Introduction

  • 1. Docker expanding beyond localhost Carlos Badenes-Olmedo, Ontology Engineering Group Universidad Politécnica de Madrid, Spain cbadenes@fi.upm.es @carbadol cbadenes.github.io cbadenes
  • 2. Docker: expanding beyond localhost The Challenge 2 You are starting a new project
  • 3. Docker: expanding beyond localhost The Challenge 3 Multiplicity of Stacks They interact appropriately? Multiplicity of HW environments Can I migrate smoothly and quickly? static website • nignx 1.5 • mod security • openssl • bootstrap 2 User DB • postgresql • pgv8 • v8 Analytics DB • hadoop • hive • thrift • OpenJDK Background Workers • Java • Spark • Scala Queue • Elasticsearch • admin-plugin Developer`s laptop Contributor`s laptop Public Cloud QA Server Production Cluster
  • 4. Docker: expanding beyond localhost The Challenge 4 The Matrix From Hell static website User DB Analytics DB Queue Background Workers Dev Laptop Cont Laptop Public Cloud QA Server Production Cluster ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 5. Docker: expanding beyond localhost Cargo Transport Pre-1960 5 Multiplicity of Goods Worry about how goods interact (e.g. coffee beans next to spices) Multiplicity of transports Can I transport smoothly and quickly?
  • 6. Docker: expanding beyond localhost The Challenge 6 Also a Matrix From Hell ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 7. Docker: expanding beyond localhost Cargo Transport Pre-1960 7 Solution: Intermodal Shipping Container A standard container that is loaded with any goods, and stays sealed until it reaches final delivery .. .. in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one of transport to other
  • 8. Docker: expanding beyond localhost ¡ 8 static website • nignx 1.5 • mod security • openssl • bootstrap 2 User DB • postgresql • pgv8 • v8 Analytics DB • hadoop • hive • thrift • OpenJDK Background Workers • Java • Spark • Scala Queue • Elasticsearch • admin-plugin Developer`s laptop Contributor`s laptop Public Cloud QA Server Production Cluster Docker is a shipping container system for code An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container … … that can be manipulated using standard operations and run consistently on virtually any hw platform
  • 9. Docker: expanding beyond localhost The Challenge 9 Docker eliminates the Matrix From Hell static website User DB Analytics DB Queue Background Workers Dev Laptop Cont Laptop Public Cloud QA Server Production Cluster
  • 10. Docker: expanding beyond localhost The Basics 10 Yet Another Virtual Machine?
  • 11. Docker: expanding beyond localhost The Basics 11 This is a Virtual Machine
  • 12. Docker: expanding beyond localhost The Basics 12 and these are Containers
  • 13. Docker: expanding beyond localhost The Basics 13 VMs vs Containers
  • 14. Docker: expanding beyond localhost The Basics 14 Why are Docker containers lightweight?
  • 15. Docker: expanding beyond localhost The Basics 15 Docker workflow
  • 16. Docker: expanding beyond localhost The Basics 16 Docker changes and updates
  • 17. Docker: expanding beyond localhost The Artifacts 17 Main actors
  • 18. Docker: expanding beyond localhost The Image 18 Docker Image • A filesystem and parameters to use it at runtime (Dockerfile) • It doesn’t have state • All layers are read only • Layers are shared between images • Update requires just a download of the new layer • ‘docker commit’ to ‘save’ changes Dockerfile (librairy/nlp-en-service)
  • 19. Docker: expanding beyond localhost The Image 19 Docker Layers
  • 20. Docker: expanding beyond localhost The Image 20 Dockerfile (mysql)
  • 21. Docker: expanding beyond localhost The Image 21 Docker Images
  • 22. Docker: expanding beyond localhost The Containers 22 Docker Container • A (running) instance of an image • Add a read/write layer on top of the image • Image is not cloned • Spin up dozens of containers
  • 23. Docker: expanding beyond localhost The Approach 23 Code is the enemy the more you have, the slower you go
  • 24. Docker: expanding beyond localhost The Approach 24
  • 25. Docker: expanding beyond localhost The Approach 25 • function calls within one process • pass messages between processes
  • 26. Docker: expanding beyond localhost The Way 26 not only Create, but also Reuse and Extend
  • 27. Docker: expanding beyond localhost The Way 27 Docker Search
  • 28. Docker: expanding beyond localhost The Way 28 Docker Hub (https://hub.docker.com)
  • 29. Docker: expanding beyond localhost The Way 29 Docker Store (https://store.docker.com)
  • 30. Docker: expanding beyond localhost The Way 30
  • 31. Docker: expanding beyond localhost References 31 • What is Docker?
 https://www.docker.com
 • “Infrastructure as code: running microservices on AWS using Docker, Terraform, and ECS" (Yevgeniy Brikman)
 https://www.slideshare.net/brikis98/infrastructure-as-code-running-microservices-on-aws-using-docker-terraform-and-ecs
 • "Microservices, Containers and Docker for Dummies"(Joost Hietbrink)
 https://www.slideshare.net/joosthietbrink/microservices-containers-and-docker-for-dummies
 • “Microservices” (Martin Fowler)
 https://www.martinfowler.com/articles/microservices.html