SlideShare a Scribd company logo
Docker
From basics to orchestration
About me
Overview
Overview
● Environment issues
● Virtualization
● "Containerization"
● Docker
○ Install
○ Run
○ Build
○ Host
● Docker Machine
● Docker Compose
● Questions
Environment Issues
If you do this, you don't receive your:
Environment Issues
Examples:
● substr vs mb_substr functions
Environment Issues
Environment Issues
Examples:
● substr vs mb_substr functions
● short open tag <?=
Environment Issues
Examples:
● substr vs mb_substr functions
● short open tag <?=
● short array syntax (5.3- vs 5.4+): $a=[];
Environment Issues
Examples:
● substr vs mb_substr functions
● short open tag <?=
● short array syntax (5.3- vs 5.4+): $a=[];
● some custom installed extension on dev but
not on prod
Virtualization
● 1960 - cpu time sharing (inspiration)
Virtualization - History
Virtualization - History
● 1960 - cpu time sharing (inspiration)
● IBM 370 - Designed for virtualization via
software (CP/CMS).
Virtualization - History
● 1960 - cpu time sharing (inspiration)
● IBM 370 - Designed for virtualization via
software (CP/CMS).
● IBM z/VM - first success case (via hardware)
Virtualization - History
● 1960 - cpu time sharing (inspiration)
● IBM 370 - Designed for virtualization via
software (CP/CMS).
● IBM z/VM - first success case (via hardware)
● 1990+ - Hypervisors: VMWare, Xen, KVM,
VirtualBox, etc...
Virtualization - Hypervisors
Virtualization - Stack
Virtualization
● Standard
environments
Virtualization
● Standard
environments
● Improve resources
usage
Virtualization
● Standard
environments
● Improve resources
usage
● Data recovery
Virtualization
● If host hardware
fails every VMs fail
● Standard
environments
● Improve resources
usage
● Data recovery
Virtualization
● If host hardware
fails every VMs fail
● Difficult
troubleshooting
● Standard
environments
● Improve resources
usage
● Data recovery
Virtualization
● If host hardware
fails every VMs fail
● Difficult
troubleshooting
● New layer = Some
Overhead
● Standard
environments
● Improve resources
usage
● Data recovery
Containers - LXC
● Since Jul/2008 -
Kernel 2.6.26+
● Since Jul/2008 -
Kernel 2.6.26+
● lxc-create, lxc-
start, lxc-stop
Containers - LXC
Containers - LXC
● Since Jul/2008 -
Kernel 2.6.26+
● lxc-create, lxc-
start, lxc-stop
● Shares kernel libs
and binaries with
host
● Process isolation - 1 Linux PID (chroot)
Containers - LXC
Containers - LXC
● Process isolation - 1 Linux PID (chroot)
● Network isolation
Containers - LXC
● Process isolation - 1 Linux PID (chroot)
● Network isolation
● Define memory limitation
Containers - LXC
● Process isolation - 1 Linux PID (chroot)
● Network isolation
● Define memory limitation
● IO overhead - difficult to share host
volumes with guests
Docker
Docker
Docker
● Copy on write (AUFS)
Docker
● Copy on write (AUFS)
● Logging (stdout, stderr, stdin)
Docker
● Copy on write (AUFS)
● Logging (stdout, stderr, stdin)
● Change management (imgs)
Docker
● Copy on write (AUFS)
● Logging (stdout, stderr, stdin)
● Change management (imgs)
● Automatic build (Dockerfile)
Docker
● Copy on write (AUFS)
● Logging (stdout, stderr, stdin)
● Change management (imgs)
● Automatic build (Dockerfile)
● Reusable (FROM: imagename)
Docker
● Copy on write (AUFS)
● Logging (stdout, stderr, stdin)
● Change management (imgs)
● Automatic build (Dockerfile)
● Reusable (FROM: imagename)
● Easy to share (registry - docker hub)
Docker
Docker
● Copy on write (AUFS)
● Logging (stdout, stderr, stdin)
● Change management (imgs)
● Automatic build (Dockerfile)
● Reusable (FROM: imagename)
● Easy to share (registry - docker hub)
● Private and public registry
● API layer (REST)
Docker
Docker
● API layer (REST)
● Fast innovations (compose, machine,
swarm, network)
Docker
Awesome
Docker - Comparison
Docker - Comparison
● Start realy fast
Docker - Comparison
● Start realy fast
● Smaller images
Docker - Comparison
● Start realy fast
● Smaller images
● Easy replication
Docker - Comparison
● Start realy fast
● Smaller images
● Easy replication
● Better resources
utilization
Docker - Comparison
● Start realy fast
● Smaller images
● Easy replication
● Better resources
utilization
● IO overhead
Docker - Comparison
● Start realy fast
● Smaller images
● Easy replication
● Better resources
utilization
● IO overhead
● Not too isolated
Docker - Comparison
● Start realy fast
● Smaller images
● Easy replication
● Better resources
utilization
● IO overhead
● Not too isolated
● Linux ONLY
Docker - Quick Tips
● It's Container not a VM
Docker - Quick Tips
● It's Container not a VM
● Why container - because it solves cargo
transport matrix
Docker - Quick Tips
● It's Container not a VM
● Why container - because it solves cargo
transport matrix
● Why docker, because of docks
Docker - Quick Tips
● It's Container not a VM
● Why container - because it solves cargo
transport matrix
● Why docker, because of docks
● Images are states, Containers runs it
● Go http://docs.docker.com/installation
Docker - Install
● Go http://docs.docker.com/installation
● Find you host OS
Docker - Install
● Go http://docs.docker.com/installation
● Find you host OS
● Follow the instructions
Docker - Install
● Go http://docs.docker.com/installation
● Find you host OS
● Follow the instructions
● FreeBSD hosts will be supported soon
Docker - Install
● Go http://docs.docker.com/installation
● Find you host OS
● Follow the instructions
● FreeBSD hosts will be supported soon
● MacOS and Windows needs a VM to act as a
Host - boot2docker sugested
Docker - Install
Docker - Basics
"Talk is cheap, show me the code."
Linus Torvalds
● Volume sharing
● Port expose/mapping
● Links between containers
Docker - Medium
Docker Machine
Creates virtual machines ready to run docker
locally or on the cloud.
● Docker Compose (Old FIG) https://docs.
docker.com/compose/install/
● Crane - http://getcrane.com
● AZK - http://azk.io
Orchestration
Docker Compose
Docker Compose
● Docker Swarm
Docker - Other Cool Stuff
● Docker Swarm
● Docker Network
Docker - Other Cool Stuff
● Docker Swarm
● Docker Network
● OpenContainers - Linux Foundation
Docker - Other Cool Stuff
Slides
Questions
Evaluation

More Related Content

PDF
Hands On Gluster with Jeff Darcy
PDF
Arbiter volumes in gluster
PPTX
Practical Glusto Example
PDF
Container-relevant Upstream Kernel Developments
PDF
CoreOS @ summer meetup in Utrecht
PDF
Docker 原理與實作
PDF
OSv at Usenix ATC 2014
PDF
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Hands On Gluster with Jeff Darcy
Arbiter volumes in gluster
Practical Glusto Example
Container-relevant Upstream Kernel Developments
CoreOS @ summer meetup in Utrecht
Docker 原理與實作
OSv at Usenix ATC 2014
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)

What's hot (20)

PDF
XPDS14 - OSv - A Modern Semi-POSIX LibraryOS - Glauber Costa, Cloudius Systems
PDF
Introduction to docker
PDF
Gluster Containerized Storage for Cloud Applications
PDF
Container Orchestration from Theory to Practice
PDF
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
ODP
Docker and stuff
PPTX
CoreOS Intro
PDF
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
PDF
PPTX
Docker intro workshop: Dockerize your PHP app
PDF
Live migrating a container: pros, cons and gotchas
ODP
Gluster d thread_synchronization_using_urcu_lca2016
ODP
Accessing gluster ufo_-_eco_willson
PDF
Gluster as Block Store in Containers
ODP
Kkeithley ufonfs-gluster summit
PDF
Boosting I/O Performance with KVM io_uring
PDF
Virtual Machines and Docker
PPTX
QNAP COSCUP Container Station
PDF
XSKY - ceph luminous update
PDF
Glauber Costa on OSv as NoSQL platform
XPDS14 - OSv - A Modern Semi-POSIX LibraryOS - Glauber Costa, Cloudius Systems
Introduction to docker
Gluster Containerized Storage for Cloud Applications
Container Orchestration from Theory to Practice
Ceph BlueStore - новый тип хранилища в Ceph / Максим Воронцов, (Redsys)
Docker and stuff
CoreOS Intro
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
Docker intro workshop: Dockerize your PHP app
Live migrating a container: pros, cons and gotchas
Gluster d thread_synchronization_using_urcu_lca2016
Accessing gluster ufo_-_eco_willson
Gluster as Block Store in Containers
Kkeithley ufonfs-gluster summit
Boosting I/O Performance with KVM io_uring
Virtual Machines and Docker
QNAP COSCUP Container Station
XSKY - ceph luminous update
Glauber Costa on OSv as NoSQL platform
Ad

Viewers also liked (14)

PDF
Dockerfile
PDF
Docker from basics to orchestration (PHPConfBr2015)
PDF
docker installation and basics
PDF
Docker Basics
PPTX
Docker Basics
PDF
Visualising Basic Concepts of Docker
PPT
Red Hat Certified engineer course
PPTX
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
PPTX
Dockerfile basics | docker workshop #1 at Rackspace
PPTX
Introduction to Kubernetes
PDF
An Introduction to Kubernetes
PDF
Docker by Example - Basics
PPT
Rhce ppt
PDF
How to Become a Thought Leader in Your Niche
Dockerfile
Docker from basics to orchestration (PHPConfBr2015)
docker installation and basics
Docker Basics
Docker Basics
Visualising Basic Concepts of Docker
Red Hat Certified engineer course
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile basics | docker workshop #1 at Rackspace
Introduction to Kubernetes
An Introduction to Kubernetes
Docker by Example - Basics
Rhce ppt
How to Become a Thought Leader in Your Niche
Ad

Similar to Talk on PHP Day Uruguay about Docker (20)

PPTX
Docker and the Container Ecosystem
PDF
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
PPTX
Virtualization, Containers, Docker and scalable container management services
PDF
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
PDF
Introduction to Docker - Learning containerization XP conference 2016
PDF
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
PDF
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
PPT
Docker Devops document for short summary
PDF
Docker Introduction + what is new in 0.9
PDF
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PDF
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
PDF
Introduction to Docker and Monitoring with InfluxData
PDF
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
PDF
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
ODP
Linux containers & Devops
PDF
Docker presentation | Paris Docker Meetup
PDF
Victor Vieux at Docker Paris Meetup #1
PPTX
Novices guide to docker
PDF
Containers: from development to production at DevNation 2015
Docker and the Container Ecosystem
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
Virtualization, Containers, Docker and scalable container management services
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Introduction to Docker - Learning containerization XP conference 2016
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Docker Devops document for short summary
Docker Introduction + what is new in 0.9
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Introduction to Docker and Monitoring with InfluxData
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Linux containers & Devops
Docker presentation | Paris Docker Meetup
Victor Vieux at Docker Paris Meetup #1
Novices guide to docker
Containers: from development to production at DevNation 2015

More from Wellington Silva (16)

PDF
Docker do básico a orquestração (PHPeste2016)
PDF
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
PDF
Afinal, o que é Docker? (Meetup Laravel #12)
PDF
Afinal, o que é Docker? (Webinar Umbler)
PDF
O que é o Docker afinal? (Workshop Novatec)
PDF
Começando com o Docker (HackerHouseBR)
PDF
Do monolito aos microserviços com Docker (PHPSP+IMA)
PDF
O poder do Docker (7º meetup de Docker SP)
PDF
O poder do Docker (7 Masters)
PDF
Aplicações 12 fatores, melhor com Docker
PDF
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
PDF
12 factor app. Melhor com Docker
PDF
Vagrant vs docker? Melhor vagrant + docker
PDF
Gnu/Linux - Workshop EACH-USP
PDF
Talk no Meetup LaravelSP #3
PDF
Light Talk Docker Compose
Docker do básico a orquestração (PHPeste2016)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Webinar Umbler)
O que é o Docker afinal? (Workshop Novatec)
Começando com o Docker (HackerHouseBR)
Do monolito aos microserviços com Docker (PHPSP+IMA)
O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7 Masters)
Aplicações 12 fatores, melhor com Docker
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
12 factor app. Melhor com Docker
Vagrant vs docker? Melhor vagrant + docker
Gnu/Linux - Workshop EACH-USP
Talk no Meetup LaravelSP #3
Light Talk Docker Compose

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Cloud computing and distributed systems.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Cloud computing and distributed systems.
“AI and Expert System Decision Support & Business Intelligence Systems”
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Dropbox Q2 2025 Financial Results & Investor Presentation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
cuic standard and advanced reporting.pdf
Encapsulation theory and applications.pdf
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Talk on PHP Day Uruguay about Docker