SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Containers in 5... 9
minutes
Edwin Cruz
Tuesday, March 10, 15
Who am I?
• Principal Software Engineer at Crowd
Interactive
• Public Speaker
• Home made ceviche specialist
• OpenSource lover
Tuesday, March 10, 15
Contain... what ?
• A container is a self contained execution
environment that shares the kernel of the
host system
• Containers isolate and encapsulate your
application workloads from the host
system
Tuesday, March 10, 15
Why?
• Stop wasting precious resources running
VM’s
• Flexibility
• Self management
Tuesday, March 10, 15
Implementations
• FreeBSD Jails
• Solaris Zones
• Linux has multiple implementations
• LXC
• LXD
• CGManager
Linux has multiple implementations: LXC, LXD, CGManager, etc
Tuesday, March 10, 15
Why?
• Easy scaling
• Same image running in multiple instances
• Limit resources
• CPU, Memory, Disk Quotas, Network
• Easy to create
• Safety
Tuesday, March 10, 15
Differences
• Zones are expected to run a full system
(like a virtual machine)
• Linux Containers(like Docker) is expected
to run a single process (or small process
tree) isolated from the host OS
Tuesday, March 10, 15
Differences
• Solaris Zones and FreeBSD Jails can be
resized on the fly
• Linux containers need to be restarted
Tuesday, March 10, 15
Differences
• Jails and Zones takes advantage of ZFS
• Snapshots
• Cloning
Tuesday, March 10, 15
Let’s focus
• Docker
• SmartOS Zones
Tuesday, March 10, 15
Docker
• Started as a wrap of LXC
• Replaced LXC-tools
• Now using libcontainer
• Native Go Implementation for linux
namespacing
Tuesday, March 10, 15
Dockerfile
• FROM
• MAINTAINER
• ADD
• EXPOSE
• ENTRYPOINT
Tuesday, March 10, 15
FROM scratch
MAINTAINER Super Team <team@example.com>
ADD binary_file binary_file
ADD bin/boot.sh bin/boot.sh
EXPOSE 2000
ENTRYPOINT ["/binary_file"]
Tuesday, March 10, 15
Building
$ docker build
$ docker tag SHA tag-name
$ docker push tag-name
Tuesday, March 10, 15
Docker Registry
$ docker push registry.docker.com/project
$ docker images
Tuesday, March 10, 15
Running
$ docker pull docker.registry.com/project:tag-name
$ /usr/bin/docker run 
--name=router -p 0.0.0.0:8000:8000 
--env PRIVATE_IPV4=$COREOS_PRIVATE_IPV4 
--env EtcdHost=$COREOS_PRIVATE_IPV4 
--env EtcdPort=4001 
--env LOG_LEVEL=1 
tag-name
Tuesday, March 10, 15
Running
$ docker pull docker.registry.com/project:tag-name
$ /usr/bin/docker run 
--name=router -p 0.0.0.0:8000:8000 
--env PRIVATE_IPV4=$COREOS_PRIVATE_IPV4 
--env EtcdHost=$COREOS_PRIVATE_IPV4 
--env EtcdPort=4001 
--env LOG_LEVEL=1 
tag-name
Tuesday, March 10, 15
Solaris Zone Image
vmadm create <<EOL
{
"brand": "superduper",
"image_uuid": "fdea06b0-3f24-11e2-ac50-0b645575ce9d",
"alias": "web01",
"hostname": "web01",
"max_physical_memory": 512,
"quota": 20,
"resolvers": ["8.8.8.8", "208.67.220.220"],
"nics": [
{
"nic_tag": "admin",
"ip": "10.88.88.52",
"netmask": "255.255.255.0",
"gateway": "10.88.88.2"
}
]
}
EOL
54f1cc77-68f1-42ab-acac-5c4f64f5d6e0
Tuesday, March 10, 15
Solaris Zone Image
vmadm start 54f1cc77-68f1-42ab-acac-5c4f64f5d6e0
Tuesday, March 10, 15
Thanks!
Tuesday, March 10, 15

Mais conteúdo relacionado

Mais procurados

EuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD SystemsEuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD Systems
Vinícius Zavam
 
Libcontainer: joining forces under one roof
Libcontainer: joining forces under one roofLibcontainer: joining forces under one roof
Libcontainer: joining forces under one roof
Andrey Vagin
 

Mais procurados (19)

How Can OpenNebula Fit Your Needs: A European Project Feedback
How Can OpenNebula Fit Your Needs: A European Project FeedbackHow Can OpenNebula Fit Your Needs: A European Project Feedback
How Can OpenNebula Fit Your Needs: A European Project Feedback
 
How to access your FIWARE Lab Instance.
How to access your FIWARE Lab Instance.How to access your FIWARE Lab Instance.
How to access your FIWARE Lab Instance.
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
How can OpenNebula fit your needs - OpenNebulaConf 2013
How can OpenNebula fit your needs - OpenNebulaConf 2013 How can OpenNebula fit your needs - OpenNebulaConf 2013
How can OpenNebula fit your needs - OpenNebulaConf 2013
 
Start your container journey safely
Start your container journey safelyStart your container journey safely
Start your container journey safely
 
Talk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about DockerTalk on PHP Day Uruguay about Docker
Talk on PHP Day Uruguay about Docker
 
Os geo live in virtual box
Os geo live in virtual boxOs geo live in virtual box
Os geo live in virtual box
 
EuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD SystemsEuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD Systems
 
Docker. Micro services for lazy developers
Docker. Micro services for lazy developersDocker. Micro services for lazy developers
Docker. Micro services for lazy developers
 
Porting Puppet to OpenBSD
Porting Puppet to OpenBSD Porting Puppet to OpenBSD
Porting Puppet to OpenBSD
 
FreeBSD hosting
FreeBSD hostingFreeBSD hosting
FreeBSD hosting
 
Containers + Docker workshop - part 2
Containers + Docker workshop - part 2Containers + Docker workshop - part 2
Containers + Docker workshop - part 2
 
MongoDB, Node.js And You: PART II
MongoDB, Node.js And You: PART IIMongoDB, Node.js And You: PART II
MongoDB, Node.js And You: PART II
 
Fundamental Virtualisasi di openSUSE
Fundamental Virtualisasi di openSUSEFundamental Virtualisasi di openSUSE
Fundamental Virtualisasi di openSUSE
 
Reef - ESUG 2010
Reef - ESUG 2010Reef - ESUG 2010
Reef - ESUG 2010
 
Docker and stuff
Docker and stuffDocker and stuff
Docker and stuff
 
Libcontainer: joining forces under one roof
Libcontainer: joining forces under one roofLibcontainer: joining forces under one roof
Libcontainer: joining forces under one roof
 
Docker session III: Dockerfile
Docker session III: DockerfileDocker session III: Dockerfile
Docker session III: Dockerfile
 
Atmosphere packages and the chuck norris effect
Atmosphere packages and the chuck norris effectAtmosphere packages and the chuck norris effect
Atmosphere packages and the chuck norris effect
 

Destaque

Mapa preconceptual alejandro humboldt
Mapa preconceptual alejandro humboldtMapa preconceptual alejandro humboldt
Mapa preconceptual alejandro humboldt
yolanda.proyecto
 
Construyendo mapa preconceptual
Construyendo mapa preconceptualConstruyendo mapa preconceptual
Construyendo mapa preconceptual
sandrapcastillo144
 
cuidando nuestro cuerpo
cuidando nuestro cuerpocuidando nuestro cuerpo
cuidando nuestro cuerpo
ferigua
 
Conociendo nuestro cuerpo (power point)
Conociendo nuestro cuerpo (power point)Conociendo nuestro cuerpo (power point)
Conociendo nuestro cuerpo (power point)
caro - mari
 
Cuidado de nuestro cuerpo
Cuidado de nuestro cuerpoCuidado de nuestro cuerpo
Cuidado de nuestro cuerpo
Yasna Soto
 
Conozco mi cuerpo y lo cuido
Conozco mi cuerpo y lo cuidoConozco mi cuerpo y lo cuido
Conozco mi cuerpo y lo cuido
etorresl
 

Destaque (18)

Mapa preconceptual alejandro humboldt
Mapa preconceptual alejandro humboldtMapa preconceptual alejandro humboldt
Mapa preconceptual alejandro humboldt
 
Construyendo mapa preconceptual
Construyendo mapa preconceptualConstruyendo mapa preconceptual
Construyendo mapa preconceptual
 
Mapas preconceptuales
Mapas preconceptualesMapas preconceptuales
Mapas preconceptuales
 
Mapas preconceptuales
Mapas preconceptualesMapas preconceptuales
Mapas preconceptuales
 
cuidando nuestro cuerpo
cuidando nuestro cuerpocuidando nuestro cuerpo
cuidando nuestro cuerpo
 
Conociendo nuestro cuerpo (power point)
Conociendo nuestro cuerpo (power point)Conociendo nuestro cuerpo (power point)
Conociendo nuestro cuerpo (power point)
 
Cuidemos nuestro cuerpo
Cuidemos nuestro cuerpoCuidemos nuestro cuerpo
Cuidemos nuestro cuerpo
 
Cuidamos nuestro cuerpo
Cuidamos nuestro cuerpoCuidamos nuestro cuerpo
Cuidamos nuestro cuerpo
 
Cuidados del cuerpo humano
Cuidados del cuerpo humanoCuidados del cuerpo humano
Cuidados del cuerpo humano
 
Cuidando nuestro cuerpo
Cuidando nuestro cuerpoCuidando nuestro cuerpo
Cuidando nuestro cuerpo
 
Diapositivas cuidados del cuerpo
Diapositivas cuidados del cuerpoDiapositivas cuidados del cuerpo
Diapositivas cuidados del cuerpo
 
El Cuidado de Nuestro Cuerpo
El Cuidado de Nuestro CuerpoEl Cuidado de Nuestro Cuerpo
El Cuidado de Nuestro Cuerpo
 
Cuidado de nuestro cuerpo
Cuidado de nuestro cuerpoCuidado de nuestro cuerpo
Cuidado de nuestro cuerpo
 
Diapositivas proyecto cuido y valoro mi cuerpo
Diapositivas proyecto cuido y valoro mi cuerpoDiapositivas proyecto cuido y valoro mi cuerpo
Diapositivas proyecto cuido y valoro mi cuerpo
 
Mi cuerpo
Mi cuerpoMi cuerpo
Mi cuerpo
 
Mapas conceptuales
Mapas conceptualesMapas conceptuales
Mapas conceptuales
 
Conozco mi cuerpo y lo cuido
Conozco mi cuerpo y lo cuidoConozco mi cuerpo y lo cuido
Conozco mi cuerpo y lo cuido
 
Mapas concpetuales
Mapas concpetualesMapas concpetuales
Mapas concpetuales
 

Semelhante a Containers in 5... 9 minutes

Victor Vieux at Docker Paris Meetup #1
Victor Vieux at Docker Paris Meetup #1Victor Vieux at Docker Paris Meetup #1
Victor Vieux at Docker Paris Meetup #1
Docker, Inc.
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
Yulian Slobodyan
 

Semelhante a Containers in 5... 9 minutes (20)

Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 
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 ...
 
Docker.ppt
Docker.pptDocker.ppt
Docker.ppt
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
 
Docker presentation | Paris Docker Meetup
Docker presentation | Paris Docker MeetupDocker presentation | Paris Docker Meetup
Docker presentation | Paris Docker Meetup
 
Victor Vieux at Docker Paris Meetup #1
Victor Vieux at Docker Paris Meetup #1Victor Vieux at Docker Paris Meetup #1
Victor Vieux at Docker Paris Meetup #1
 
Docker.ppt
Docker.pptDocker.ppt
Docker.ppt
 
Docker meetup-jan-2015
Docker meetup-jan-2015Docker meetup-jan-2015
Docker meetup-jan-2015
 
Docker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notesDocker Mentorweek beginner workshop notes
Docker Mentorweek beginner workshop notes
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
 
Central Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdownCentral Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdown
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
The Three Musketeers
The Three MusketeersThe Three Musketeers
The Three Musketeers
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To Running
 
GIDS 2020 - Unpacking the Container
GIDS 2020 - Unpacking the ContainerGIDS 2020 - Unpacking the Container
GIDS 2020 - Unpacking the Container
 

Mais de Edwin Cruz

SGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platformsSGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platforms
Edwin Cruz
 
Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionado
Edwin Cruz
 

Mais de Edwin Cruz (12)

Codigo Escalable WDT
Codigo Escalable WDTCodigo Escalable WDT
Codigo Escalable WDT
 
SGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platformsSGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platforms
 
Devops with ansible
Devops with ansibleDevops with ansible
Devops with ansible
 
Chilango Rails Ecommerce Lightning talk
Chilango Rails Ecommerce Lightning talkChilango Rails Ecommerce Lightning talk
Chilango Rails Ecommerce Lightning talk
 
Home made ceviche
Home made cevicheHome made ceviche
Home made ceviche
 
Api's and ember js
Api's and ember jsApi's and ember js
Api's and ember js
 
FSL Vallarta, mejorando el rendimiento de las aplicaciones web
FSL Vallarta, mejorando el rendimiento de las aplicaciones webFSL Vallarta, mejorando el rendimiento de las aplicaciones web
FSL Vallarta, mejorando el rendimiento de las aplicaciones web
 
Presentacion Programador Apasionado
Presentacion Programador ApasionadoPresentacion Programador Apasionado
Presentacion Programador Apasionado
 
MagmaRails - Passionate Programmer
MagmaRails - Passionate ProgrammerMagmaRails - Passionate Programmer
MagmaRails - Passionate Programmer
 
Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionado
 
Api development with rails
Api development with railsApi development with rails
Api development with rails
 
Migrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal ServersMigrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal Servers
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Containers in 5... 9 minutes

  • 1. Containers in 5... 9 minutes Edwin Cruz Tuesday, March 10, 15
  • 2. Who am I? • Principal Software Engineer at Crowd Interactive • Public Speaker • Home made ceviche specialist • OpenSource lover Tuesday, March 10, 15
  • 3. Contain... what ? • A container is a self contained execution environment that shares the kernel of the host system • Containers isolate and encapsulate your application workloads from the host system Tuesday, March 10, 15
  • 4. Why? • Stop wasting precious resources running VM’s • Flexibility • Self management Tuesday, March 10, 15
  • 5. Implementations • FreeBSD Jails • Solaris Zones • Linux has multiple implementations • LXC • LXD • CGManager Linux has multiple implementations: LXC, LXD, CGManager, etc Tuesday, March 10, 15
  • 6. Why? • Easy scaling • Same image running in multiple instances • Limit resources • CPU, Memory, Disk Quotas, Network • Easy to create • Safety Tuesday, March 10, 15
  • 7. Differences • Zones are expected to run a full system (like a virtual machine) • Linux Containers(like Docker) is expected to run a single process (or small process tree) isolated from the host OS Tuesday, March 10, 15
  • 8. Differences • Solaris Zones and FreeBSD Jails can be resized on the fly • Linux containers need to be restarted Tuesday, March 10, 15
  • 9. Differences • Jails and Zones takes advantage of ZFS • Snapshots • Cloning Tuesday, March 10, 15
  • 10. Let’s focus • Docker • SmartOS Zones Tuesday, March 10, 15
  • 11. Docker • Started as a wrap of LXC • Replaced LXC-tools • Now using libcontainer • Native Go Implementation for linux namespacing Tuesday, March 10, 15
  • 12. Dockerfile • FROM • MAINTAINER • ADD • EXPOSE • ENTRYPOINT Tuesday, March 10, 15
  • 13. FROM scratch MAINTAINER Super Team <team@example.com> ADD binary_file binary_file ADD bin/boot.sh bin/boot.sh EXPOSE 2000 ENTRYPOINT ["/binary_file"] Tuesday, March 10, 15
  • 14. Building $ docker build $ docker tag SHA tag-name $ docker push tag-name Tuesday, March 10, 15
  • 15. Docker Registry $ docker push registry.docker.com/project $ docker images Tuesday, March 10, 15
  • 16. Running $ docker pull docker.registry.com/project:tag-name $ /usr/bin/docker run --name=router -p 0.0.0.0:8000:8000 --env PRIVATE_IPV4=$COREOS_PRIVATE_IPV4 --env EtcdHost=$COREOS_PRIVATE_IPV4 --env EtcdPort=4001 --env LOG_LEVEL=1 tag-name Tuesday, March 10, 15
  • 17. Running $ docker pull docker.registry.com/project:tag-name $ /usr/bin/docker run --name=router -p 0.0.0.0:8000:8000 --env PRIVATE_IPV4=$COREOS_PRIVATE_IPV4 --env EtcdHost=$COREOS_PRIVATE_IPV4 --env EtcdPort=4001 --env LOG_LEVEL=1 tag-name Tuesday, March 10, 15
  • 18. Solaris Zone Image vmadm create <<EOL { "brand": "superduper", "image_uuid": "fdea06b0-3f24-11e2-ac50-0b645575ce9d", "alias": "web01", "hostname": "web01", "max_physical_memory": 512, "quota": 20, "resolvers": ["8.8.8.8", "208.67.220.220"], "nics": [ { "nic_tag": "admin", "ip": "10.88.88.52", "netmask": "255.255.255.0", "gateway": "10.88.88.2" } ] } EOL 54f1cc77-68f1-42ab-acac-5c4f64f5d6e0 Tuesday, March 10, 15
  • 19. Solaris Zone Image vmadm start 54f1cc77-68f1-42ab-acac-5c4f64f5d6e0 Tuesday, March 10, 15