SlideShare a Scribd company logo
Introduction to Docker
What is it? And Why Should I Care?
PRESENTATION BY: ALAN FORBES
Am I in the right place?
Meet Today’s Presenter
Alan Forbes
Vice President of Product Management
aforbes@rprwyatt.com
Proud IBMAdvanced Business
Partners for
18Years
Agenda - Docker
• What it is
• How it works
• Turbo Demo!
• Why you should care
What is Docker?
In jargon, it’s a software container platform
It provides abstraction of operating system level virtualization
What’s in a container?
• The operating system
• Your software
• The dependencies required to run your
software (PHP, Mongo, mySQL,
Python, Apache, Node, etc.)
• Environment variables
• Your code
• more
What problem does Docker solve?
• It runs on my machine, but not on yours…
• Don’t run it on your machine, run it in a container. Then when you share the container, it will work
• Specifically, Docker makes it possible to set up local development environments that are exactly like a live
server
• Also solves the issue of getting more out of existing hardware
Buil
d
Ship Run
Container vs VM (words)
• A virtual machine will include the application, the necessary binaries
and libraries, and an entire operating system (many GBs)
• A Docker container also contains the application and necessary
libraries, but shares the OS kernel with other containers.
• Docker containers run in an isolated process space.
• Guest OS layer is completely eliminated.
• Docker Engine can set on top of Linux, Mac,Windows, Azure, AWS,
etc.
Containers vs Virtual Machine (visual)
Every container shares the core
• With traditionalVMs you can mix and match OS
• This is super flexible, but hardware heavy
• Resources are allocated at provision time
• With Docker, all the containers run on top of same operating system
and kernel.
• If multiple copies of the same application are what you want, then you'll love
containers.
• Docker gets the most server application instances running on the least amount
of hardware
Which OS is shared?
• Docker can run on Mac,Windows, Linux
• The Docker Engine shared OS is a flavor of Linux
• In general, Docker containers run Linux (even when running on
Windows)
• However… onWindows Server 2016 andWindows 10 (Anniversary
Edition) only you can runWindows server containers, which allow for
.NET, ASP.NET, PowerShell, etc.
• Nano server, .NET Core
Containers can run almost anywhere
• Desktop - Mac andWindows
• Cloud Providers
• IBM Bluemix
• AWS
• Azure
• Servers
• CentOS, Debian, Fedora
• Oracle Linux, Red Hat, Ubuntu, etc
But my software isn’t quite done…
• Software is never finished
• Dependencies change over time
• Docker thought of this. It has “git like” versioning to track successive versions of a
container, inspect the differences between versions, commit new versions, roll back, etc.
• Who made that change and when?
• Incremental changes (download just the differences, not a new container)
Build Ship Run
Component Reuse
• Any container can be saved as a “base image”
from which other containers can be built.
• Containers can be built on top of each other
(will explain).
• The best part is that these containers can be
created as part of an automated script.
Getting started – www.docker.com
Simple Dockerfile – Image Definition
FROM php:7.0-apache
COPY src/ /var/www/html/
EXPOSE 80
• Note we don’t have to start from scratch; we’re building on top of
an existing image pre-configured with PHP and Apache
FROM the Public Repository @ Hub.docker.com
How to use the image
Containers are stacked
• 3 line docker file, starts with FROM
• Docker pulled an image from the public
repository
• That image also contains a From,
which may contain another
• FROM debian:jessie
• FROM scratch
Add our code: Hello World
<?php
Echo "hello Social Connections! Today is ". date('l jS of FY h:i:s A'); ?>
Run command:
docker run -p 80:80 -v /Users/alan/docker/src/:/var/www/html hello-
world
All files copied to the container
• A container is an instance of the image
• But if a source file changes, you have to stop and rebuild the
container (Deploy)
• Unless you mount a volume; in this case the files are not part of the
container (Dev)
Life of a container
• The container will run until the main process stops
• In our case, if PHP crashes
• The life of a container is tied to a single process
• Thus, try to keep containers to a single main process
• Rather than run PHP and my SQL on a single container, run two
containers
• You can stop them manually with ctrl-c
Basic Docker Commands
• docker run <image> - creates a new container based on an image
• docker start <name | ID> - starts an existing container
• docker stop <name | ID> - stops an existing, running container
• docker ps - list all containers [-a include all containers, even stopped
ones]
• docker rm <name | ID> - deletes a container
Quick Review
• Installed Docker
• Found a suitable image on Docker hub
• An image is a text file describing what goes into a container
• Created a container using that image PLUS our own code
• A container is an instance of an image
• Built the container and ran it
• Files change – either rebuild the container or “mount” a volume
instead
• Limit containers to a single process / purpose
Docker Compose
• Each container should provide a single service
• An app may need several containers that need to work together
• Keeping track of the status of multiple containers can be a pain in a
complex application (lots of command line parameters)
• Docker Compose allows you to start and stop groups of containers
as one unit
The scenario – 2 related containers
• Web page running onApache
• Web API running some scripting language (Python, PHP, etc)
docker-compose.yml
• SeeVisual Code
Real life plus a shameless plug 
The scenario – 3 related containers
• Apache with PHP plus custom code
• mySQL
• phpMyAdmin
docker-compose.yml
Add mySQL
docker-compose up
So why should I care?
• At first, I thought to myself “I already know enough technology, how
could this thing possibly matter?”
• BUT… it does matter:
• Docker is a better solution for many problems
• It’s pretty easy to learn
• IBM is adopting it like crazy, as are many other companies
• It’s cool and hip… like you
• It’s significantly faster - MongoDB (5 steps or 1?)
IBM & Docker Together
• Docker Subscription for IBM
• DockerTrusted Registry: Dedicated image store and distribution
service deployed behind your firewall
• Docker Engine: Push/pull images, build and run containers
• IBM Level 1 and 2 support
• Integrated with UrbanCode Deploy for integrated release
management
Docker is a big deal
Thank you!
• Questions? Come visit my booth!
• aforbes@rprwyatt.com
Ad

More Related Content

What's hot (20)

A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
Michał Kurzeja
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
Sagar Dash
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
yannick grenzinger
 
Docker basics
Docker basicsDocker basics
Docker basics
Claudio Montoya
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
Runcy Oommen
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystem
psconnolly
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
Hamilton Turner
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
Weerayut Hongsa
 
Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
Dr. Syed Hassan Amin
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
dotCloud
 
Docker
DockerDocker
Docker
Patrick Oberdorf
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
John Willis
 
Understand how docker works
Understand how docker worksUnderstand how docker works
Understand how docker works
Justin Li
 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017
Chris Tankersley
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON
 
Start your adventure with docker
Start your adventure with dockerStart your adventure with docker
Start your adventure with docker
Sagar Dash
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
yannick grenzinger
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
Runcy Oommen
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystem
psconnolly
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
Weerayut Hongsa
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
dotCloud
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
John Willis
 
Understand how docker works
Understand how docker worksUnderstand how docker works
Understand how docker works
Justin Li
 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017
Chris Tankersley
 

Similar to Introduction to Docker (20)

eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Docker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to DockerDocker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to Docker
jonatanblue
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
damovsky
 
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
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 
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)
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
Damian T. Gordon
 
Docker interview Questions-1.pdf
Docker interview Questions-1.pdfDocker interview Questions-1.pdf
Docker interview Questions-1.pdf
Yogeshwaran R
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
Anvay Patil
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Wyn B. Van Devanter
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Josh Padnick
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
DataStax Academy
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
Wyn B. Van Devanter
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
balaji257
 
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 basic
Docker basicDocker basic
Docker basic
Somenath Ghosh
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
Christopher Grayson
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
Jeffrey Sica
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Docker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to DockerDocker Oxford launch - Introduction to Docker
Docker Oxford launch - Introduction to Docker
jonatanblue
 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
damovsky
 
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
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 
Docker interview Questions-1.pdf
Docker interview Questions-1.pdfDocker interview Questions-1.pdf
Docker interview Questions-1.pdf
Yogeshwaran R
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
Anvay Patil
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Josh Padnick
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
DataStax Academy
 
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
 
You, and Me, and Docker Makes Three
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
Christopher Grayson
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Aditya Konarde
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
Jeffrey Sica
 
Ad

Recently uploaded (20)

Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Ad

Introduction to Docker

  • 1. Introduction to Docker What is it? And Why Should I Care? PRESENTATION BY: ALAN FORBES
  • 2. Am I in the right place?
  • 3. Meet Today’s Presenter Alan Forbes Vice President of Product Management [email protected] Proud IBMAdvanced Business Partners for 18Years
  • 4. Agenda - Docker • What it is • How it works • Turbo Demo! • Why you should care
  • 5. What is Docker? In jargon, it’s a software container platform It provides abstraction of operating system level virtualization
  • 6. What’s in a container? • The operating system • Your software • The dependencies required to run your software (PHP, Mongo, mySQL, Python, Apache, Node, etc.) • Environment variables • Your code • more
  • 7. What problem does Docker solve? • It runs on my machine, but not on yours… • Don’t run it on your machine, run it in a container. Then when you share the container, it will work • Specifically, Docker makes it possible to set up local development environments that are exactly like a live server • Also solves the issue of getting more out of existing hardware Buil d Ship Run
  • 8. Container vs VM (words) • A virtual machine will include the application, the necessary binaries and libraries, and an entire operating system (many GBs) • A Docker container also contains the application and necessary libraries, but shares the OS kernel with other containers. • Docker containers run in an isolated process space. • Guest OS layer is completely eliminated. • Docker Engine can set on top of Linux, Mac,Windows, Azure, AWS, etc.
  • 9. Containers vs Virtual Machine (visual)
  • 10. Every container shares the core • With traditionalVMs you can mix and match OS • This is super flexible, but hardware heavy • Resources are allocated at provision time • With Docker, all the containers run on top of same operating system and kernel. • If multiple copies of the same application are what you want, then you'll love containers. • Docker gets the most server application instances running on the least amount of hardware
  • 11. Which OS is shared? • Docker can run on Mac,Windows, Linux • The Docker Engine shared OS is a flavor of Linux • In general, Docker containers run Linux (even when running on Windows) • However… onWindows Server 2016 andWindows 10 (Anniversary Edition) only you can runWindows server containers, which allow for .NET, ASP.NET, PowerShell, etc. • Nano server, .NET Core
  • 12. Containers can run almost anywhere • Desktop - Mac andWindows • Cloud Providers • IBM Bluemix • AWS • Azure • Servers • CentOS, Debian, Fedora • Oracle Linux, Red Hat, Ubuntu, etc
  • 13. But my software isn’t quite done… • Software is never finished • Dependencies change over time • Docker thought of this. It has “git like” versioning to track successive versions of a container, inspect the differences between versions, commit new versions, roll back, etc. • Who made that change and when? • Incremental changes (download just the differences, not a new container) Build Ship Run
  • 14. Component Reuse • Any container can be saved as a “base image” from which other containers can be built. • Containers can be built on top of each other (will explain). • The best part is that these containers can be created as part of an automated script.
  • 15. Getting started – www.docker.com
  • 16. Simple Dockerfile – Image Definition FROM php:7.0-apache COPY src/ /var/www/html/ EXPOSE 80 • Note we don’t have to start from scratch; we’re building on top of an existing image pre-configured with PHP and Apache
  • 17. FROM the Public Repository @ Hub.docker.com
  • 18. How to use the image
  • 19. Containers are stacked • 3 line docker file, starts with FROM • Docker pulled an image from the public repository • That image also contains a From, which may contain another • FROM debian:jessie • FROM scratch
  • 20. Add our code: Hello World <?php Echo "hello Social Connections! Today is ". date('l jS of FY h:i:s A'); ?> Run command: docker run -p 80:80 -v /Users/alan/docker/src/:/var/www/html hello- world
  • 21. All files copied to the container • A container is an instance of the image • But if a source file changes, you have to stop and rebuild the container (Deploy) • Unless you mount a volume; in this case the files are not part of the container (Dev)
  • 22. Life of a container • The container will run until the main process stops • In our case, if PHP crashes • The life of a container is tied to a single process • Thus, try to keep containers to a single main process • Rather than run PHP and my SQL on a single container, run two containers • You can stop them manually with ctrl-c
  • 23. Basic Docker Commands • docker run <image> - creates a new container based on an image • docker start <name | ID> - starts an existing container • docker stop <name | ID> - stops an existing, running container • docker ps - list all containers [-a include all containers, even stopped ones] • docker rm <name | ID> - deletes a container
  • 24. Quick Review • Installed Docker • Found a suitable image on Docker hub • An image is a text file describing what goes into a container • Created a container using that image PLUS our own code • A container is an instance of an image • Built the container and ran it • Files change – either rebuild the container or “mount” a volume instead • Limit containers to a single process / purpose
  • 25. Docker Compose • Each container should provide a single service • An app may need several containers that need to work together • Keeping track of the status of multiple containers can be a pain in a complex application (lots of command line parameters) • Docker Compose allows you to start and stop groups of containers as one unit
  • 26. The scenario – 2 related containers • Web page running onApache • Web API running some scripting language (Python, PHP, etc)
  • 28. Real life plus a shameless plug 
  • 29. The scenario – 3 related containers • Apache with PHP plus custom code • mySQL • phpMyAdmin
  • 33. So why should I care? • At first, I thought to myself “I already know enough technology, how could this thing possibly matter?” • BUT… it does matter: • Docker is a better solution for many problems • It’s pretty easy to learn • IBM is adopting it like crazy, as are many other companies • It’s cool and hip… like you • It’s significantly faster - MongoDB (5 steps or 1?)
  • 34. IBM & Docker Together • Docker Subscription for IBM • DockerTrusted Registry: Dedicated image store and distribution service deployed behind your firewall • Docker Engine: Push/pull images, build and run containers • IBM Level 1 and 2 support • Integrated with UrbanCode Deploy for integrated release management
  • 35. Docker is a big deal
  • 36. Thank you! • Questions? Come visit my booth! • [email protected]

Editor's Notes

  • #16: https://www.youtube.com/watch?v=YFl2mCHdv24