SlideShare a Scribd company logo
Containers
And
Docker
Cloud Administration
• Aside from the base hardware on which they
run, cloud infrastructures comprise hundreds
or thousands of virtual resources such as
compute and storage nodes
• Administration of virtual infrastructures, as
compared with hardware, is much more of a
software-oriented activity
Cloud Administration
• Increasingly, software has to be designed and
developed with the target deployment
environment closely in mind
• The term “DevOps” has come to mean the
close cooperation of developers and
operations engineers for the deployment and
running of multi-component application
stacks over complex virtualised environments
Interoperability
• A typical service comprises many layers of
interoperating components
• Each component has some arbitrary
version and configuration
Interoperability
• Each component has some arbitrary
number of dependencies on other
components and operating system
services and libraries
• A large number of permutations of easily
possible with just a small number of
components
Interoperability N x M problem
Static Website
Web Frontend
Background Workers
User DB
Analytics DB
Queue
Dev VM QA
Server
Single
Prod
Server
Online
Cluster
Public
Cloud
Dev
Laptop
Customer
Servers
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
An Analogy
An Analogy
• Before 1960, most cargo was shipped break
bulk. Shippers and carriers alike needed to
worry about bad interactions between
different types of cargo (e.g. if a shipment of
anvils fell on a sack of bananas).
• Similarly, transitions between different modes
of transport were painful.
An Analogy
An Analogy
• The answer was found in the form of a
standard shipping container.
• The container can be sealed, and not to be
re-opened until it reached its final
destination
An Analogy
Docker
• Docker is a shipping container for code.
• Enables any application and its
dependencies to be packaged up as a
lightweight, portable, self-sufficient
container.
• Containers have standard operations, thus
enabling more automation.
Docker
Virtual Machine Vs. Container
Host OS
Docker
Server
Virtual Machine Vs. Container
• A container comprises an application and its
dependencies.
• Containers serve to isolate processes which
run in isolation in userspace on the host's
operating system.
• Traditional hardware virtualization (e.g.
VMWare, KVM, Xen, EC2) aims to create an
entire virtual machine.
Virtual Machine Vs. Container
• Each virtualized application contains not
only the application (which may only be
10's of MB) along with the binaries and
libraries needed to run that application,
and an entire Guest operating System
(which may measure in 100s of GB).
Virtual Machine Vs. Container
• Since all of the containers share the same
operating system (and, where appropriate,
binaries and libraries), they are
significantly smaller than VMs
• Possible to store 100s of containers on a
physical host
Virtual Machine Vs. Container
• Since they utilize the host operating
system, restarting a container does not
mean restarting or rebooting the
operating system. Thus, containers are
much more portable and much more
efficient for many use cases.
Virtual Machine Vs. Container
• With a traditional VM, each application, each
copy of an application, and each slight
modification of an application requires
creating an entirely new VM.
• A new application on a host need only have
the application and its binaries/libraries.
There is no need for a new guest operating
system.
Virtual Machine Vs. Container
• If you want to run several copies of the
same application on a host, you do not
even need to copy the shared binaries.
• Finally, if you make a modification of the
application, you need only copy the
differences.
Docker: Introduction
Docker: Introduction
• Docker is an open source, community-
backed project, originally developed by
DotCloud
• The project aims to create an application
encapsulation environment using Linux
containers for its isolation environment
Docker: Introduction
• Docker addresses one of the biggest
challenges in cloud service operations
management:
• application deployment and
• component interoperability in complex,
multi-node environments
Docker: Introduction
• Docker is an open platform for developers
and sys admins to build, ship, and run
distributed applications.
• As a result, IT/IS can ship faster and run
the same app, unchanged, on laptops,
datacentres, VMs, and on any cloud
Docker: Introduction
• Enables apps to be quickly assembled from
components and eliminates the friction
between development, QA, and production
environments.
• It consists of:
• Docker Engine, a portable, lightweight runtime
and packaging tool,
• Docker Hub, a cloud service for sharing
applications and automating workflows
Docker: Introduction
• It consists of:
• Docker Engine, a portable, lightweight
runtime and packaging tool,
• Docker Hub (or Registry), a cloud service for
sharing applications and automating
workflows
Docker: Introduction
• Containers are designed to run on virtually
any Linux server. The same container that
that a developer builds and tests on a
laptop will run at scale, in production, on
VMs, bare-metal servers, OpenStack
clusters, public instances, or combinations
of the above.
Docker: Introduction
• Developers can build their application
once, and then know that it can run
consistently anywhere. Operators can
configure their servers once, and then
know that they can run any application.
Docker: Basic Workflow
Docker
Making Copies
Testing and Qualification
• Before a service update can be rolled to
production, it must be tested and qualified
• Ideally, to make testing easier and to have any kind
of confidence in quality, the change between an
update and a previously working configuration
should be small – operations objective
• This need invariably conflicts with the need to
patch and advance the underlying software –
developer’s objective
Update Example
• Suppose that a web service is running a particular
version of PostgreSQL (a relational database) with
a particular version of Memcached (a memory
cache).
• Each service is known to work with a particular OS
version, say Ubuntu 14.04.
• Now suppose, a critical fix is required for
PostgreSQL but that update will only work with a
later version of Ubuntu
Update Example
• The problem is that the server OS would
need to be updated but that update is not
qualified to work with the current version
of Memcached.
• A newer version of Memcached would be
need too – this is known as a dependency
cascade
Update Example
• Suppose, to make matters worse, the new
version of Memcached would not work
with the middleware version it services.
Now we could have further upstream
dependency cascades.
• What do we do?
Update Example
• Solution #1: Split Memcached and
PostgreSQL services onto different VMs.
This would work but further complicates
the deployment mesh and forces single-
role-per VM policy, reducing flexibility
• Solution #2: Containerise the PostgreSQL
and Memcached services inside Docker
Docker: How it Works
• Starting with a base image, say some
version of Ubuntu, the developer can build
a bespoke container for hosting a single
component, say PostgreSQL.
• The built image encapsulates the OS
version, updates, libraries and application
components
Docker: How it Works
• Docker can animate the image into a
running container
• The container transparently runs a fully
isolated OS instance within the host
machine
• Resources outside the container are not
visible to anything inside
Docker: How it Works
• Docker images are built on a union
filesystem (AUFS)
• Updates to the filesystem by in-container
applications are visible as discrete changes
which can be preserved (forming named,
image snapshots) or thrown away
Docker: How it Works
• Containers have their own virtual
networking layer with automatically
assigned IP addresses which are visible in
the host system
• Docker supports TCP/IP port mapping and
forwarding from the host
Docker: How it Works
• The philosophy for building a Docker
component mesh is to have the highest
degree of componentisation as possible:
Docker: How it Works
• For example, a LAMP stack would look like
the following:
• MySQL container(s)
• Linked MySQL data container
• Apache (or Nginx) and PHP container(s)
• Memcached container(s)
• Each one can run on top of different Linux OS
versions and be updated independently
Docker: How it Works
• Docker supports automated, script-driven image
generation.
• A Dockerfile specifies the following:
• Base Linux image
• Individual software installation commands
• TCP/IP ports to expose
• Default command(s) to execute when container is run
• https://docs.docker.com/engine/reference/builder/
Docker: How it Works
• Consult the latest docs at the official site
to see what it supported for your target
platform
• https://docs.docker.com/install/
• Linux, MacOS and Windows supported
(Mac and Windows use virtualised Linux
to make this work)
Lightweight
The Good, the Bad, and
the Interesting of
Docker
THE GOOD
Docker: The Benefits
• Make the entire lifecycle more efficient,
consistent, and repeatable
• Increase the quality of code produced by
developers
• Eliminate inconsistencies between
development, test, production, and
customer environments
Docker: The Benefits
• Support segregation of duties
• Significantly improves the speed and
reliability of continuous deployment and
continuous integration systems
• Because the containers are so lightweight,
address significant performance, costs,
deployment, and portability issues normally
associated with VMs
Docker: The Benefits
• Because any given container only runs
some subset of a service’s total number of
components, the surface area for an
attack on a service is highly fragmented
Docker: The Benefits
• Further, only components which need to be
exposed on a network should be network-
facing, allowing everything else to be isolated
on internally secured networks
• For example, a reverse HTTP container proxy
in front of the middeware and database
containers which are hidden
THE BAD
Docker: The Weaknesses
• It does not provide cross-platform
compatibility which means that if an
application is designed to run in a Docker
container on Windows, then it cannot run on
Linux Docker container
• Docker is only suitable when the
development OS and the testing OS are same
Docker: The Weaknesses
• It is not good for application that requires
rich GUI
• It is difficult to manage large amount of
containers
• It does not provide any solution for data
backup and recovery
THE INTERESTING
Docker: Interesting
• It Allows You to Run Your Own Malware
Analysis Engine
• Sandboxing and isolation are central to today's
malware analysis mechanisms; to this end,
Docker can be a lightweight alternative to
complete virtualization. This REMnux project
provides Docker images for malware analysis,
giving information security professionals an easy
way to set up tools and environments for
malware detonation.
Docker: Interesting
• It Allows You to Containerize Your Skype
Sessions
• Wish you could Skype Grandma in complete
isolation? By running your Skype sessions
inside a Docker container, you can do just
that.
Docker: Interesting
• It Allows You to Manage Your Raspberry Pi
Cluster With Docker Swarm
• Using the Docker Machine, you can install
Swarm on Raspberry Pi to setup a Raspberry
Pi Swarm cluster.
Containers and Docker
Ad

More Related Content

What's hot (20)

Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
Docker, Inc.
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
NexThoughts Technologies
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
Eueung Mulyana
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
Jason Hu
 
Kubernetes
KubernetesKubernetes
Kubernetes
erialc_w
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Martin Danielsson
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
Juneyoung Oh
 
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration PlatformKubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
Imesh Gunaratne
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
Dr Ganesh Iyer
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
Bytemark
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
Docker, Inc.
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
Jason Hu
 
Kubernetes
KubernetesKubernetes
Kubernetes
erialc_w
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
Juneyoung Oh
 
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration PlatformKubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Michael O'Sullivan
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
Imesh Gunaratne
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
Dr Ganesh Iyer
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
Bytemark
 

Similar to Containers and Docker (20)

Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 
ma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptxma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
week8_watermark.pdfhowcanitbe minimum 40 i
week8_watermark.pdfhowcanitbe minimum 40 iweek8_watermark.pdfhowcanitbe minimum 40 i
week8_watermark.pdfhowcanitbe minimum 40 i
sec22ci043
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
Ankit Gupta
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
Shubhrank Rastogi
 
Docker slides
Docker slidesDocker slides
Docker slides
Jyotsna Raghuraman
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
Synergetics Learning and Cloud Consulting
 
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 Overview
Docker OverviewDocker Overview
Docker Overview
Alexander Moon
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, Inc.
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
Web à Québec
 
Docker container
Docker containerDocker container
Docker container
Naveen Kumar
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
An Introduction To Docker
An Introduction To  DockerAn Introduction To  Docker
An Introduction To Docker
Gabriella Davis
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
Sujai Sivasamy
 
Docker
DockerDocker
Docker
Codeister Technolgoies
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
Chris Taylor
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 
ma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptxma-formation-en-Docker-jlklk,nknkjn.pptx
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
week8_watermark.pdfhowcanitbe minimum 40 i
week8_watermark.pdfhowcanitbe minimum 40 iweek8_watermark.pdfhowcanitbe minimum 40 i
week8_watermark.pdfhowcanitbe minimum 40 i
sec22ci043
 
Week 8 lecture material
Week 8 lecture materialWeek 8 lecture material
Week 8 lecture material
Ankit Gupta
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
 Introduction to Containers & Diving a little deeper into the benefits of Con... Introduction to Containers & Diving a little deeper into the benefits of Con...
Introduction to Containers & Diving a little deeper into the benefits of Con...
Synergetics Learning and Cloud Consulting
 
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
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
Web à Québec
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
An Introduction To Docker
An Introduction To  DockerAn Introduction To  Docker
An Introduction To Docker
Gabriella Davis
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
Chris Taylor
 
Ad

More from Damian T. Gordon (20)

Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
TRIZ: Theory of Inventive Problem Solving
TRIZ: Theory of Inventive Problem SolvingTRIZ: Theory of Inventive Problem Solving
TRIZ: Theory of Inventive Problem Solving
Damian T. Gordon
 
Some Ethical Considerations of AI and GenAI
Some Ethical Considerations of AI and GenAISome Ethical Considerations of AI and GenAI
Some Ethical Considerations of AI and GenAI
Damian T. Gordon
 
Some Common Errors that Generative AI Produces
Some Common Errors that Generative AI ProducesSome Common Errors that Generative AI Produces
Some Common Errors that Generative AI Produces
Damian T. Gordon
 
The Use of Data and Datasets in Data Science
The Use of Data and Datasets in Data ScienceThe Use of Data and Datasets in Data Science
The Use of Data and Datasets in Data Science
Damian T. Gordon
 
A History of Different Versions of Microsoft Windows
A History of Different Versions of Microsoft WindowsA History of Different Versions of Microsoft Windows
A History of Different Versions of Microsoft Windows
Damian T. Gordon
 
Writing an Abstract: A Question-based Approach
Writing an Abstract: A Question-based ApproachWriting an Abstract: A Question-based Approach
Writing an Abstract: A Question-based Approach
Damian T. Gordon
 
Using GenAI for Universal Design for Learning
Using GenAI for Universal Design for LearningUsing GenAI for Universal Design for Learning
Using GenAI for Universal Design for Learning
Damian T. Gordon
 
A CheckSheet for Inclusive Software Design
A CheckSheet for Inclusive Software DesignA CheckSheet for Inclusive Software Design
A CheckSheet for Inclusive Software Design
Damian T. Gordon
 
A History of Versions of the Apple MacOS
A History of Versions of the Apple MacOSA History of Versions of the Apple MacOS
A History of Versions of the Apple MacOS
Damian T. Gordon
 
68 Ways that Data Science and AI can help address the UN Sustainability Goals
68 Ways that Data Science and AI can help address the UN Sustainability Goals68 Ways that Data Science and AI can help address the UN Sustainability Goals
68 Ways that Data Science and AI can help address the UN Sustainability Goals
Damian T. Gordon
 
Copyright and Creative Commons Considerations
Copyright and Creative Commons ConsiderationsCopyright and Creative Commons Considerations
Copyright and Creative Commons Considerations
Damian T. Gordon
 
Exam Preparation: Some Ideas and Suggestions
Exam Preparation: Some Ideas and SuggestionsExam Preparation: Some Ideas and Suggestions
Exam Preparation: Some Ideas and Suggestions
Damian T. Gordon
 
Studying and Notetaking: Some Suggestions
Studying and Notetaking: Some SuggestionsStudying and Notetaking: Some Suggestions
Studying and Notetaking: Some Suggestions
Damian T. Gordon
 
The Growth Mindset: Explanations and Activities
The Growth Mindset: Explanations and ActivitiesThe Growth Mindset: Explanations and Activities
The Growth Mindset: Explanations and Activities
Damian T. Gordon
 
Hyperparameter Tuning in Neural Networks
Hyperparameter Tuning in Neural NetworksHyperparameter Tuning in Neural Networks
Hyperparameter Tuning in Neural Networks
Damian T. Gordon
 
Early 20th Century Modern Art: Movements and Artists
Early 20th Century Modern Art: Movements and ArtistsEarly 20th Century Modern Art: Movements and Artists
Early 20th Century Modern Art: Movements and Artists
Damian T. Gordon
 
An Introduction to Generative Artificial Intelligence
An Introduction to Generative Artificial IntelligenceAn Introduction to Generative Artificial Intelligence
An Introduction to Generative Artificial Intelligence
Damian T. Gordon
 
An Introduction to Green Computing with a fun quiz.
An Introduction to Green Computing with a fun quiz.An Introduction to Green Computing with a fun quiz.
An Introduction to Green Computing with a fun quiz.
Damian T. Gordon
 
Introduction to Sustainability and the UN Sustainable Development Goals
Introduction to Sustainability and the UN Sustainable Development GoalsIntroduction to Sustainability and the UN Sustainable Development Goals
Introduction to Sustainability and the UN Sustainable Development Goals
Damian T. Gordon
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
TRIZ: Theory of Inventive Problem Solving
TRIZ: Theory of Inventive Problem SolvingTRIZ: Theory of Inventive Problem Solving
TRIZ: Theory of Inventive Problem Solving
Damian T. Gordon
 
Some Ethical Considerations of AI and GenAI
Some Ethical Considerations of AI and GenAISome Ethical Considerations of AI and GenAI
Some Ethical Considerations of AI and GenAI
Damian T. Gordon
 
Some Common Errors that Generative AI Produces
Some Common Errors that Generative AI ProducesSome Common Errors that Generative AI Produces
Some Common Errors that Generative AI Produces
Damian T. Gordon
 
The Use of Data and Datasets in Data Science
The Use of Data and Datasets in Data ScienceThe Use of Data and Datasets in Data Science
The Use of Data and Datasets in Data Science
Damian T. Gordon
 
A History of Different Versions of Microsoft Windows
A History of Different Versions of Microsoft WindowsA History of Different Versions of Microsoft Windows
A History of Different Versions of Microsoft Windows
Damian T. Gordon
 
Writing an Abstract: A Question-based Approach
Writing an Abstract: A Question-based ApproachWriting an Abstract: A Question-based Approach
Writing an Abstract: A Question-based Approach
Damian T. Gordon
 
Using GenAI for Universal Design for Learning
Using GenAI for Universal Design for LearningUsing GenAI for Universal Design for Learning
Using GenAI for Universal Design for Learning
Damian T. Gordon
 
A CheckSheet for Inclusive Software Design
A CheckSheet for Inclusive Software DesignA CheckSheet for Inclusive Software Design
A CheckSheet for Inclusive Software Design
Damian T. Gordon
 
A History of Versions of the Apple MacOS
A History of Versions of the Apple MacOSA History of Versions of the Apple MacOS
A History of Versions of the Apple MacOS
Damian T. Gordon
 
68 Ways that Data Science and AI can help address the UN Sustainability Goals
68 Ways that Data Science and AI can help address the UN Sustainability Goals68 Ways that Data Science and AI can help address the UN Sustainability Goals
68 Ways that Data Science and AI can help address the UN Sustainability Goals
Damian T. Gordon
 
Copyright and Creative Commons Considerations
Copyright and Creative Commons ConsiderationsCopyright and Creative Commons Considerations
Copyright and Creative Commons Considerations
Damian T. Gordon
 
Exam Preparation: Some Ideas and Suggestions
Exam Preparation: Some Ideas and SuggestionsExam Preparation: Some Ideas and Suggestions
Exam Preparation: Some Ideas and Suggestions
Damian T. Gordon
 
Studying and Notetaking: Some Suggestions
Studying and Notetaking: Some SuggestionsStudying and Notetaking: Some Suggestions
Studying and Notetaking: Some Suggestions
Damian T. Gordon
 
The Growth Mindset: Explanations and Activities
The Growth Mindset: Explanations and ActivitiesThe Growth Mindset: Explanations and Activities
The Growth Mindset: Explanations and Activities
Damian T. Gordon
 
Hyperparameter Tuning in Neural Networks
Hyperparameter Tuning in Neural NetworksHyperparameter Tuning in Neural Networks
Hyperparameter Tuning in Neural Networks
Damian T. Gordon
 
Early 20th Century Modern Art: Movements and Artists
Early 20th Century Modern Art: Movements and ArtistsEarly 20th Century Modern Art: Movements and Artists
Early 20th Century Modern Art: Movements and Artists
Damian T. Gordon
 
An Introduction to Generative Artificial Intelligence
An Introduction to Generative Artificial IntelligenceAn Introduction to Generative Artificial Intelligence
An Introduction to Generative Artificial Intelligence
Damian T. Gordon
 
An Introduction to Green Computing with a fun quiz.
An Introduction to Green Computing with a fun quiz.An Introduction to Green Computing with a fun quiz.
An Introduction to Green Computing with a fun quiz.
Damian T. Gordon
 
Introduction to Sustainability and the UN Sustainable Development Goals
Introduction to Sustainability and the UN Sustainable Development GoalsIntroduction to Sustainability and the UN Sustainable Development Goals
Introduction to Sustainability and the UN Sustainable Development Goals
Damian T. Gordon
 
Ad

Recently uploaded (20)

Operations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdfOperations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdf
Arab Academy for Science, Technology and Maritime Transport
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
SPRING FESTIVITIES - UK AND USA -
SPRING FESTIVITIES - UK AND USA            -SPRING FESTIVITIES - UK AND USA            -
SPRING FESTIVITIES - UK AND USA -
Colégio Santa Teresinha
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdfBiophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
Political History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptxPolitical History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptx
Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 

Containers and Docker

  • 2. Cloud Administration • Aside from the base hardware on which they run, cloud infrastructures comprise hundreds or thousands of virtual resources such as compute and storage nodes • Administration of virtual infrastructures, as compared with hardware, is much more of a software-oriented activity
  • 3. Cloud Administration • Increasingly, software has to be designed and developed with the target deployment environment closely in mind • The term “DevOps” has come to mean the close cooperation of developers and operations engineers for the deployment and running of multi-component application stacks over complex virtualised environments
  • 4. Interoperability • A typical service comprises many layers of interoperating components • Each component has some arbitrary version and configuration
  • 5. Interoperability • Each component has some arbitrary number of dependencies on other components and operating system services and libraries • A large number of permutations of easily possible with just a small number of components
  • 6. Interoperability N x M problem Static Website Web Frontend Background Workers User DB Analytics DB Queue Dev VM QA Server Single Prod Server Online Cluster Public Cloud Dev Laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 8. An Analogy • Before 1960, most cargo was shipped break bulk. Shippers and carriers alike needed to worry about bad interactions between different types of cargo (e.g. if a shipment of anvils fell on a sack of bananas). • Similarly, transitions between different modes of transport were painful.
  • 10. An Analogy • The answer was found in the form of a standard shipping container. • The container can be sealed, and not to be re-opened until it reached its final destination
  • 12. Docker • Docker is a shipping container for code. • Enables any application and its dependencies to be packaged up as a lightweight, portable, self-sufficient container. • Containers have standard operations, thus enabling more automation.
  • 14. Virtual Machine Vs. Container Host OS Docker Server
  • 15. Virtual Machine Vs. Container • A container comprises an application and its dependencies. • Containers serve to isolate processes which run in isolation in userspace on the host's operating system. • Traditional hardware virtualization (e.g. VMWare, KVM, Xen, EC2) aims to create an entire virtual machine.
  • 16. Virtual Machine Vs. Container • Each virtualized application contains not only the application (which may only be 10's of MB) along with the binaries and libraries needed to run that application, and an entire Guest operating System (which may measure in 100s of GB).
  • 17. Virtual Machine Vs. Container • Since all of the containers share the same operating system (and, where appropriate, binaries and libraries), they are significantly smaller than VMs • Possible to store 100s of containers on a physical host
  • 18. Virtual Machine Vs. Container • Since they utilize the host operating system, restarting a container does not mean restarting or rebooting the operating system. Thus, containers are much more portable and much more efficient for many use cases.
  • 19. Virtual Machine Vs. Container • With a traditional VM, each application, each copy of an application, and each slight modification of an application requires creating an entirely new VM. • A new application on a host need only have the application and its binaries/libraries. There is no need for a new guest operating system.
  • 20. Virtual Machine Vs. Container • If you want to run several copies of the same application on a host, you do not even need to copy the shared binaries. • Finally, if you make a modification of the application, you need only copy the differences.
  • 22. Docker: Introduction • Docker is an open source, community- backed project, originally developed by DotCloud • The project aims to create an application encapsulation environment using Linux containers for its isolation environment
  • 23. Docker: Introduction • Docker addresses one of the biggest challenges in cloud service operations management: • application deployment and • component interoperability in complex, multi-node environments
  • 24. Docker: Introduction • Docker is an open platform for developers and sys admins to build, ship, and run distributed applications. • As a result, IT/IS can ship faster and run the same app, unchanged, on laptops, datacentres, VMs, and on any cloud
  • 25. Docker: Introduction • Enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. • It consists of: • Docker Engine, a portable, lightweight runtime and packaging tool, • Docker Hub, a cloud service for sharing applications and automating workflows
  • 26. Docker: Introduction • It consists of: • Docker Engine, a portable, lightweight runtime and packaging tool, • Docker Hub (or Registry), a cloud service for sharing applications and automating workflows
  • 27. Docker: Introduction • Containers are designed to run on virtually any Linux server. The same container that that a developer builds and tests on a laptop will run at scale, in production, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above.
  • 28. Docker: Introduction • Developers can build their application once, and then know that it can run consistently anywhere. Operators can configure their servers once, and then know that they can run any application.
  • 32. Testing and Qualification • Before a service update can be rolled to production, it must be tested and qualified • Ideally, to make testing easier and to have any kind of confidence in quality, the change between an update and a previously working configuration should be small – operations objective • This need invariably conflicts with the need to patch and advance the underlying software – developer’s objective
  • 33. Update Example • Suppose that a web service is running a particular version of PostgreSQL (a relational database) with a particular version of Memcached (a memory cache). • Each service is known to work with a particular OS version, say Ubuntu 14.04. • Now suppose, a critical fix is required for PostgreSQL but that update will only work with a later version of Ubuntu
  • 34. Update Example • The problem is that the server OS would need to be updated but that update is not qualified to work with the current version of Memcached. • A newer version of Memcached would be need too – this is known as a dependency cascade
  • 35. Update Example • Suppose, to make matters worse, the new version of Memcached would not work with the middleware version it services. Now we could have further upstream dependency cascades. • What do we do?
  • 36. Update Example • Solution #1: Split Memcached and PostgreSQL services onto different VMs. This would work but further complicates the deployment mesh and forces single- role-per VM policy, reducing flexibility • Solution #2: Containerise the PostgreSQL and Memcached services inside Docker
  • 37. Docker: How it Works • Starting with a base image, say some version of Ubuntu, the developer can build a bespoke container for hosting a single component, say PostgreSQL. • The built image encapsulates the OS version, updates, libraries and application components
  • 38. Docker: How it Works • Docker can animate the image into a running container • The container transparently runs a fully isolated OS instance within the host machine • Resources outside the container are not visible to anything inside
  • 39. Docker: How it Works • Docker images are built on a union filesystem (AUFS) • Updates to the filesystem by in-container applications are visible as discrete changes which can be preserved (forming named, image snapshots) or thrown away
  • 40. Docker: How it Works • Containers have their own virtual networking layer with automatically assigned IP addresses which are visible in the host system • Docker supports TCP/IP port mapping and forwarding from the host
  • 41. Docker: How it Works • The philosophy for building a Docker component mesh is to have the highest degree of componentisation as possible:
  • 42. Docker: How it Works • For example, a LAMP stack would look like the following: • MySQL container(s) • Linked MySQL data container • Apache (or Nginx) and PHP container(s) • Memcached container(s) • Each one can run on top of different Linux OS versions and be updated independently
  • 43. Docker: How it Works • Docker supports automated, script-driven image generation. • A Dockerfile specifies the following: • Base Linux image • Individual software installation commands • TCP/IP ports to expose • Default command(s) to execute when container is run • https://docs.docker.com/engine/reference/builder/
  • 44. Docker: How it Works • Consult the latest docs at the official site to see what it supported for your target platform • https://docs.docker.com/install/ • Linux, MacOS and Windows supported (Mac and Windows use virtualised Linux to make this work)
  • 46. The Good, the Bad, and the Interesting of Docker
  • 48. Docker: The Benefits • Make the entire lifecycle more efficient, consistent, and repeatable • Increase the quality of code produced by developers • Eliminate inconsistencies between development, test, production, and customer environments
  • 49. Docker: The Benefits • Support segregation of duties • Significantly improves the speed and reliability of continuous deployment and continuous integration systems • Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
  • 50. Docker: The Benefits • Because any given container only runs some subset of a service’s total number of components, the surface area for an attack on a service is highly fragmented
  • 51. Docker: The Benefits • Further, only components which need to be exposed on a network should be network- facing, allowing everything else to be isolated on internally secured networks • For example, a reverse HTTP container proxy in front of the middeware and database containers which are hidden
  • 53. Docker: The Weaknesses • It does not provide cross-platform compatibility which means that if an application is designed to run in a Docker container on Windows, then it cannot run on Linux Docker container • Docker is only suitable when the development OS and the testing OS are same
  • 54. Docker: The Weaknesses • It is not good for application that requires rich GUI • It is difficult to manage large amount of containers • It does not provide any solution for data backup and recovery
  • 56. Docker: Interesting • It Allows You to Run Your Own Malware Analysis Engine • Sandboxing and isolation are central to today's malware analysis mechanisms; to this end, Docker can be a lightweight alternative to complete virtualization. This REMnux project provides Docker images for malware analysis, giving information security professionals an easy way to set up tools and environments for malware detonation.
  • 57. Docker: Interesting • It Allows You to Containerize Your Skype Sessions • Wish you could Skype Grandma in complete isolation? By running your Skype sessions inside a Docker container, you can do just that.
  • 58. Docker: Interesting • It Allows You to Manage Your Raspberry Pi Cluster With Docker Swarm • Using the Docker Machine, you can install Swarm on Raspberry Pi to setup a Raspberry Pi Swarm cluster.