SlideShare uma empresa Scribd logo
1 de 40
Docker
By:
NklMish
About Me
• Senior Software Developer around JVM
• Consultant + Coaching
Fast adoption rate
Fast adoption rate
DeploymentSingle machine vs Multiple vm’s on Single machine
Problems?
Common Problem
Commit’s code
It works on
my computer
Development & Deployment
Developer
Environment
Test
Environment
Production
Environment
QA
Environment
Environment Configuration
The instruction depends on the week in which you are running them
How about Vagrant + VM + Configuration
Mangement(chef, ansible, puppet, etc.)
• Step in a right direction
• Still too heavy weight and Fragile.
• Time dependent because can
return different minor versions
apt-get install xxx
• Docker is a consumer of container based technology
providing lightweight packages for apps.
• Utilises containers for application deployment
(provides illusion that app is running in separate OS),
separating infrastructure.
What is Docker
Docker a deeper look
Containers and Linux
2005 2006 20082007 2011 2013
Open VZ CGroups Google +
CGroups
LXC Unification Patch Free
Hypervisor vs Container
Shared OSBase Emulate virtual hardware
Hardware
OS
Hypervisor
Guest OS Guest OS
App1 App2
Hardware
OS
Container Container
App1 App2
Docker Components
• Daemon
• Client
• Image
• File
Docker Benefits
• Lightweight + Speed
• Portable
• Isolation
• Security
• Cloud ready
Lightweight + Speed
• No separate OS
• Run’s as a process
• Boot time.
Portable
• Run on all platform (i.e mac, linux, cloud, amazon
linux, etc.).
• Allow developers to generate and commit
container diffs
Isolation
• Each container gets :
• It’s own file system
• Full range of port i.e. 0-65535
Security
• Root under container is “nobody” outside
• Namespace are now enabled by default
Cloud Ready
• Small size, easy to scale (both vertical and
horizontal!)
• Compatible with existing cloud solutions
With Docker, Development &
Deployment
Developer
Environment
Test
Environment
Production
Environment
QA
Environment
Installation
• Requires kernel >= 3.9 , default nowadays
• Linux
• RPM sudo rpm install docker
• Debian based distribution apt-get install docker
doesn’t work instead use docker.io repo &
execute sudo apt-get install docker.io
• Mac and Windows : boot2docker
Sample DockerFile
FROM debian:jessie
MAINTAINER Allan Espinosa "allan.espinosa@outlook.com"
RUN apt-get update && 
apt-get --no-install-recommends install -q -y openjdk-7-jre-headless && 
rm -rf /var/lib/apt/lists/*
ADD http://mirrors.jenkins-ci.org/war/1.624/jenkins.war /opt/jenkins.war
RUN chmod 644 /opt/jenkins.war
ENV JENKINS_HOME /jenkins
ENTRYPOINT ["java", "-jar", "/opt/jenkins.war"]
EXPOSE 8080
CMD [""]
Docker
Command
execution
Every docker command
generates new layer.
DevOps real time time saver.
Take precaution about env
variables.
Docker commands
docker pull <#>
Docker commands
docker images <#>
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
tpires/neo4j latest 0fd121ddd75b 4 days ago 892.8 MB
Docker commands
docker run <#>
docker run -i -t -d --name neo4j --cap-add=SYS_RESOURCE -p 7474:7474 tpires/neo4j
Docker commands
docker ps <#>
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0fabcaa1e3fe tpires/neo4j "/bin/bash -c /launc 9 minutes ago Up 9 minutes 0.0.0.0:7474->7474/tcp, 1337/tcp neo4j
Docker commands
docker diff <#>
docker diff 0fabcaa1e3fe
/etc
C /etc/neo4j
C /etc/neo4j/neo4j-server.properties
A /etc/neo4j/ssl
A /etc/neo4j/ssl/snakeoil.cert
A /etc/neo4j/ssl/snakeoil.key
C /tmp
C /tmp/hsperfdata_root
A /tmp/hsperfdata_root/84
A /tmp/jetty-0fabcaa1e3fe-7474-browser-_browser-any-24337275114314781.dir
A /tmp/jetty-0fabcaa1e3fe-7474-webadmin-html-_webadmin-any-3550160901111854765.dir
C /var
C /var/lib
C /var/lib/neo4j
C /var/lib/neo4j/data
A /var/lib/neo4j/data/dbms
A /var/lib/neo4j/data/dbms/auth
A /var/lib/neo4j/data/graph.db
A /var/lib/neo4j/data/graph.db/index
A /var/lib/neo4j/data/graph.db/lock
A /var/lib/neo4j/data/graph.db/messages.log
A /var/lib/neo4j/data/graph.db/neostore
A /var/lib/neo4j/data/graph.db/neostore.counts.db.a
A /var/lib/neo4j/data/graph.db/neostore.id
A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db
A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db.id
A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db.names
A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db.names.id
A /var/lib/neo4j/data/graph.db/neostore.nodestore.db
A /var/lib/neo4j/data/graph.db/neostore.nodestore.db.id
A /var/lib/neo4j/data/graph.db/neostore.nodestore.db.labels
A /var/lib/neo4j/data/graph.db/neostore.nodestore.db.labels.id
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.arrays
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.arrays.id
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.id
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index.id
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index.keys
A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index.keys.id
Docker commands
docker logs <#>
docker logs 0fabcaa1e3fe
Starting Neo4j Server console-mode...
Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=conf/neo4j-server.properties -Djava.util.logging.config.file=conf/logging.properties -XX:+UseCon
2015-08-11 20:04:36.742+0000 INFO [API] Setting startup timeout to: 120000ms based on 120000
2015-08-11 20:04:38.016+0000 INFO [API] Successfully started database
2015-08-11 20:04:38.079+0000 INFO [API] Starting HTTP on port :7474 with 8 threads available
2015-08-11 20:04:38.220+0000 INFO [API] Enabling HTTPS on port :7473
2015-08-11 20:04:38.220+0000 INFO [API] No SSL certificate found, generating a self-signed certificate..
20:04:38.432 [main] INFO org.eclipse.jetty.util.log - Logging initialized @2302ms
2015-08-11 20:04:38.469+0000 INFO [API] Mounting static content at [/webadmin] from [webadmin-html]
2015-08-11 20:04:38.509+0000 INFO [API] Mounting static content at [/browser] from [browser]
20:04:38.512 [main] INFO org.eclipse.jetty.server.Server - jetty-9.2.4.v20141103
20:04:38.531 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.h.MovedContextHandler@71da109{/,null,AVAILABLE}
20:04:38.575 [main] INFO o.e.j.w.StandardDescriptorProcessor - NO JSP Support for /webadmin, did not find org.apache.jasper.servlet.JspServlet
20:04:38.594 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@6602d014{/webadmin,jar:file:/usr/share/neo4j/system/lib/neo4j-server-2.2.3-static-web.jar!/web
20:04:38.900 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@4e671f1e{/db/manage,null,AVAILABLE}
20:04:39.036 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@4ad697ef{/db/data,null,AVAILABLE}
20:04:39.046 [main] INFO o.e.j.w.StandardDescriptorProcessor - NO JSP Support for /browser, did not find org.apache.jasper.servlet.JspServlet
20:04:39.047 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@60921cf7{/browser,jar:file:/usr/share/neo4j/system/lib/neo4j-browser-2.2.3.jar!/browser,AVAIL
20:04:39.110 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@7929a090{/,null,AVAILABLE}
20:04:39.120 [main] INFO o.e.jetty.server.ServerConnector - Started ServerConnector@5129d373{HTTP/1.1}{0fabcaa1e3fe:7474}
20:04:39.178 [main] INFO o.e.jetty.server.ServerConnector - Started ServerConnector@3938bdec{SSL-HTTP/1.1}{0fabcaa1e3fe:7473}
20:04:39.178 [main] INFO org.eclipse.jetty.server.Server - Started @3052ms
2015-08-11 20:04:39.179+0000 INFO [API] Server started on: http://0fabcaa1e3fe:7474/
2015-08-11 20:04:39.179+0000 INFO [API] Remote interface ready and available at [http://0fabcaa1e3fe:7474/]
Docker commands
docker stats <#>
docker stats 0fabcaa1e3fe
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
0fabcaa1e3fe 2.87% 232.9 MB/4.142 GB 5.62% 162.6 kB/3.7 MB
Docker Registry
• docker pull jessie translates to docker
pull registry-
1.docker.io/library/jessie
• For internal registry docker pull
companyDomain:port/foo/bar
Custom Registry
• Commercial - Docker trusted registry
• Non-commercial - set up your own service
registry (Docker Trusted Registry can help you
get started)
Docker useful tools
• Multi container application - Docker Compose
• Container clustering - Docker Swarm
• Third party integration - Yes you can use Chef
and Puppet
Cons
• kernel sharing (Different flavours of same OS
rather the different OS)
• You can end up with large number of containers.
(Google launch every week 2 billion container
instances)
Solution
• Manage containers as a single system
• Kubernetes, mesos, etc. helps to achieve this
Kubernetes
• Pods
• Replication controllers
• Labels
• Services
Summary
• Developer environment should be close to production
• Works on my machine is way too common problem.
• Manual setup is too time consuming , fragile and cumbersome
• Vm are too bulky, fragile and carries lot of additional noise.
• Container technology provides alternative approach(extremely lightweight) and docker
utilises it.
• Docker, build once run anywhere.
• Easy to scale , cloud ready.
• Not possible to run various OS , can run various flavours .
• Provides rich tools for enterprise tasks.
• Tools like Kubernetes can help.
Thank you.
Questions?

Mais conteúdo relacionado

Mais procurados

Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creationVictor Morales
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
Flux is incubating + the road ahead
Flux is incubating + the road aheadFlux is incubating + the road ahead
Flux is incubating + the road aheadLibbySchulze
 
Introduction to micro-services @DevOps pune Meetup
Introduction to micro-services @DevOps pune Meetup Introduction to micro-services @DevOps pune Meetup
Introduction to micro-services @DevOps pune Meetup Rahul Khengare
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gatewayChengHui Weng
 
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow TutorialMichigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow TutorialJeffrey Sica
 
Microservice API Gateways with NGINX
Microservice API Gateways with NGINXMicroservice API Gateways with NGINX
Microservice API Gateways with NGINXGeoffrey Filippi
 
Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenJudy Breedlove
 
Services in kubernetes-KnolX .pdf
Services in kubernetes-KnolX .pdfServices in kubernetes-KnolX .pdf
Services in kubernetes-KnolX .pdfKnoldus Inc.
 
Debugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsDebugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsVMware Tanzu
 
How Hootsuite Manages Its Growing Microservice Landscape
How Hootsuite Manages Its Growing Microservice LandscapeHow Hootsuite Manages Its Growing Microservice Landscape
How Hootsuite Manages Its Growing Microservice LandscapeAdam Arsenault
 
gRPC @ Weaveworks
gRPC @ WeaveworksgRPC @ Weaveworks
gRPC @ WeaveworksWeaveworks
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus DeployKevin Kuszyk
 
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...Puppet
 
Your Developers Can Be Heroes on Kubernetes
Your Developers Can Be Heroes on KubernetesYour Developers Can Be Heroes on Kubernetes
Your Developers Can Be Heroes on KubernetesAmbassador Labs
 

Mais procurados (20)

Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creation
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
Operator development made easy with helm
Operator development made easy with helmOperator development made easy with helm
Operator development made easy with helm
 
API Gateway study
API Gateway studyAPI Gateway study
API Gateway study
 
Flux is incubating + the road ahead
Flux is incubating + the road aheadFlux is incubating + the road ahead
Flux is incubating + the road ahead
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
Introduction to micro-services @DevOps pune Meetup
Introduction to micro-services @DevOps pune Meetup Introduction to micro-services @DevOps pune Meetup
Introduction to micro-services @DevOps pune Meetup
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
Serverless
ServerlessServerless
Serverless
 
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow TutorialMichigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
 
Microservice API Gateways with NGINX
Microservice API Gateways with NGINXMicroservice API Gateways with NGINX
Microservice API Gateways with NGINX
 
Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen
 
Services in kubernetes-KnolX .pdf
Services in kubernetes-KnolX .pdfServices in kubernetes-KnolX .pdf
Services in kubernetes-KnolX .pdf
 
Debugging Complex Issues in Web Applications
Debugging Complex Issues in Web ApplicationsDebugging Complex Issues in Web Applications
Debugging Complex Issues in Web Applications
 
How Hootsuite Manages Its Growing Microservice Landscape
How Hootsuite Manages Its Growing Microservice LandscapeHow Hootsuite Manages Its Growing Microservice Landscape
How Hootsuite Manages Its Growing Microservice Landscape
 
gRPC @ Weaveworks
gRPC @ WeaveworksgRPC @ Weaveworks
gRPC @ Weaveworks
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
 
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
 
Your Developers Can Be Heroes on Kubernetes
Your Developers Can Be Heroes on KubernetesYour Developers Can Be Heroes on Kubernetes
Your Developers Can Be Heroes on Kubernetes
 

Destaque

Adconion Direct "RTB: The Future of Cross Channel"
Adconion Direct "RTB: The Future of Cross Channel"Adconion Direct "RTB: The Future of Cross Channel"
Adconion Direct "RTB: The Future of Cross Channel"IAB Canada
 
Finanzas iv y v unidad
Finanzas   iv y v unidad Finanzas   iv y v unidad
Finanzas iv y v unidad Perrizo Mora
 
60 2016 individuazione e le responsabilità del lavoratore
60    2016   individuazione e le responsabilità del lavoratore60    2016   individuazione e le responsabilità del lavoratore
60 2016 individuazione e le responsabilità del lavoratorehttp://www.studioingvolpi.it
 
Curso de TIC PARA LA ENSEÑANZA Y APRENDIZAJE
Curso de TIC PARA LA ENSEÑANZA Y APRENDIZAJECurso de TIC PARA LA ENSEÑANZA Y APRENDIZAJE
Curso de TIC PARA LA ENSEÑANZA Y APRENDIZAJEJanett Julca Flores
 
News Press Capcortes Rc1
News Press Capcortes Rc1News Press Capcortes Rc1
News Press Capcortes Rc1Alcantara
 
East india securities rating advisory wc
East india securities rating advisory wcEast india securities rating advisory wc
East india securities rating advisory wcChirag Majithia
 
InnerBuilders toolsHorses
InnerBuilders toolsHorsesInnerBuilders toolsHorses
InnerBuilders toolsHorsesfrankdelaguilae
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1Scott Chavez
 
BARRIQUE_CATAL_2013_web (1)
BARRIQUE_CATAL_2013_web (1)BARRIQUE_CATAL_2013_web (1)
BARRIQUE_CATAL_2013_web (1)Francesco Fadda
 
Oil industry managed print sevices - (NIS case study) - Canon CEE
Oil industry managed print sevices - (NIS case study) - Canon CEEOil industry managed print sevices - (NIS case study) - Canon CEE
Oil industry managed print sevices - (NIS case study) - Canon CEECanon Business CEE
 
SmartBits - Soluciones de negocio - www.smartbits.es
SmartBits - Soluciones de negocio - www.smartbits.esSmartBits - Soluciones de negocio - www.smartbits.es
SmartBits - Soluciones de negocio - www.smartbits.essmartbits1
 

Destaque (20)

urbania
urbaniaurbania
urbania
 
Adconion Direct "RTB: The Future of Cross Channel"
Adconion Direct "RTB: The Future of Cross Channel"Adconion Direct "RTB: The Future of Cross Channel"
Adconion Direct "RTB: The Future of Cross Channel"
 
Premio investigación e innovación modificado
Premio investigación e innovación modificadoPremio investigación e innovación modificado
Premio investigación e innovación modificado
 
Manual css3 nov2014
Manual css3 nov2014Manual css3 nov2014
Manual css3 nov2014
 
Finanzas iv y v unidad
Finanzas   iv y v unidad Finanzas   iv y v unidad
Finanzas iv y v unidad
 
60 2016 individuazione e le responsabilità del lavoratore
60    2016   individuazione e le responsabilità del lavoratore60    2016   individuazione e le responsabilità del lavoratore
60 2016 individuazione e le responsabilità del lavoratore
 
Curso de TIC PARA LA ENSEÑANZA Y APRENDIZAJE
Curso de TIC PARA LA ENSEÑANZA Y APRENDIZAJECurso de TIC PARA LA ENSEÑANZA Y APRENDIZAJE
Curso de TIC PARA LA ENSEÑANZA Y APRENDIZAJE
 
CliniMACS newsletter 2011
CliniMACS newsletter 2011CliniMACS newsletter 2011
CliniMACS newsletter 2011
 
Lauton &amp; Foxton Funding Programs
Lauton &amp; Foxton Funding ProgramsLauton &amp; Foxton Funding Programs
Lauton &amp; Foxton Funding Programs
 
News Press Capcortes Rc1
News Press Capcortes Rc1News Press Capcortes Rc1
News Press Capcortes Rc1
 
Jsf
JsfJsf
Jsf
 
East india securities rating advisory wc
East india securities rating advisory wcEast india securities rating advisory wc
East india securities rating advisory wc
 
InnerBuilders toolsHorses
InnerBuilders toolsHorsesInnerBuilders toolsHorses
InnerBuilders toolsHorses
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1
 
Important for me
Important for meImportant for me
Important for me
 
BARRIQUE_CATAL_2013_web (1)
BARRIQUE_CATAL_2013_web (1)BARRIQUE_CATAL_2013_web (1)
BARRIQUE_CATAL_2013_web (1)
 
Oil industry managed print sevices - (NIS case study) - Canon CEE
Oil industry managed print sevices - (NIS case study) - Canon CEEOil industry managed print sevices - (NIS case study) - Canon CEE
Oil industry managed print sevices - (NIS case study) - Canon CEE
 
SmartBits - Soluciones de negocio - www.smartbits.es
SmartBits - Soluciones de negocio - www.smartbits.esSmartBits - Soluciones de negocio - www.smartbits.es
SmartBits - Soluciones de negocio - www.smartbits.es
 
Server virtualization vendor landscape
Server virtualization vendor landscapeServer virtualization vendor landscape
Server virtualization vendor landscape
 
T5i6 coordenades
T5i6 coordenadesT5i6 coordenades
T5i6 coordenades
 

Semelhante a Detailed Introduction To Docker

Dockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDaniel Krook
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationGiacomo Vacca
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2Vincent Mercier
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationErica Windisch
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and MicroserviceSamuel Chow
 
WebSphere and Docker
WebSphere and DockerWebSphere and Docker
WebSphere and DockerDavid Currie
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
Continuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSContinuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSAmazon Web Services
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM France Lab
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentalsAlper Unal
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 

Semelhante a Detailed Introduction To Docker (20)

Dockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDockerizing OpenStack for High Availability
Dockerizing OpenStack for High Availability
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and Microservice
 
WebSphere and Docker
WebSphere and DockerWebSphere and Docker
WebSphere and Docker
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
Continuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSContinuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECS
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 

Mais de nklmish

Demystifying Kafka
Demystifying KafkaDemystifying Kafka
Demystifying Kafkanklmish
 
Scaling CQRS in theory, practice, and reality
Scaling CQRS in theory, practice, and realityScaling CQRS in theory, practice, and reality
Scaling CQRS in theory, practice, and realitynklmish
 
CQRS and EventSourcing with Spring & Axon
CQRS and EventSourcing with Spring & AxonCQRS and EventSourcing with Spring & Axon
CQRS and EventSourcing with Spring & Axonnklmish
 
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOXnklmish
 
Kotlin boost yourproductivity
Kotlin boost yourproductivityKotlin boost yourproductivity
Kotlin boost yourproductivitynklmish
 
Distributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your productionDistributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your productionnklmish
 
Microservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuffMicroservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuffnklmish
 
Mongo - an intermediate introduction
Mongo - an intermediate introductionMongo - an intermediate introduction
Mongo - an intermediate introductionnklmish
 

Mais de nklmish (10)

Demystifying Kafka
Demystifying KafkaDemystifying Kafka
Demystifying Kafka
 
Scaling CQRS in theory, practice, and reality
Scaling CQRS in theory, practice, and realityScaling CQRS in theory, practice, and reality
Scaling CQRS in theory, practice, and reality
 
CQRS and EventSourcing with Spring & Axon
CQRS and EventSourcing with Spring & AxonCQRS and EventSourcing with Spring & Axon
CQRS and EventSourcing with Spring & Axon
 
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX
(SPRING)KAFKA - ONE MORE ARSENAL IN A DISTRIBUTED TOOLBOX
 
Kotlin boost yourproductivity
Kotlin boost yourproductivityKotlin boost yourproductivity
Kotlin boost yourproductivity
 
Distributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your productionDistributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your production
 
Spock
SpockSpock
Spock
 
Microservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuffMicroservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuff
 
Neo4J
Neo4JNeo4J
Neo4J
 
Mongo - an intermediate introduction
Mongo - an intermediate introductionMongo - an intermediate introduction
Mongo - an intermediate introduction
 

Último

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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, Adobeapidays
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
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 DiscoveryTrustArc
 
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
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
+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 - 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
 
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...
 

Detailed Introduction To Docker

  • 2. About Me • Senior Software Developer around JVM • Consultant + Coaching
  • 5. DeploymentSingle machine vs Multiple vm’s on Single machine Problems?
  • 6. Common Problem Commit’s code It works on my computer
  • 8. Environment Configuration The instruction depends on the week in which you are running them
  • 9. How about Vagrant + VM + Configuration Mangement(chef, ansible, puppet, etc.) • Step in a right direction • Still too heavy weight and Fragile. • Time dependent because can return different minor versions apt-get install xxx
  • 10.
  • 11. • Docker is a consumer of container based technology providing lightweight packages for apps. • Utilises containers for application deployment (provides illusion that app is running in separate OS), separating infrastructure. What is Docker
  • 13. Containers and Linux 2005 2006 20082007 2011 2013 Open VZ CGroups Google + CGroups LXC Unification Patch Free
  • 14. Hypervisor vs Container Shared OSBase Emulate virtual hardware Hardware OS Hypervisor Guest OS Guest OS App1 App2 Hardware OS Container Container App1 App2
  • 15. Docker Components • Daemon • Client • Image • File
  • 16. Docker Benefits • Lightweight + Speed • Portable • Isolation • Security • Cloud ready
  • 17. Lightweight + Speed • No separate OS • Run’s as a process • Boot time.
  • 18. Portable • Run on all platform (i.e mac, linux, cloud, amazon linux, etc.). • Allow developers to generate and commit container diffs
  • 19. Isolation • Each container gets : • It’s own file system • Full range of port i.e. 0-65535
  • 20. Security • Root under container is “nobody” outside • Namespace are now enabled by default
  • 21. Cloud Ready • Small size, easy to scale (both vertical and horizontal!) • Compatible with existing cloud solutions
  • 22. With Docker, Development & Deployment Developer Environment Test Environment Production Environment QA Environment
  • 23. Installation • Requires kernel >= 3.9 , default nowadays • Linux • RPM sudo rpm install docker • Debian based distribution apt-get install docker doesn’t work instead use docker.io repo & execute sudo apt-get install docker.io • Mac and Windows : boot2docker
  • 24. Sample DockerFile FROM debian:jessie MAINTAINER Allan Espinosa "allan.espinosa@outlook.com" RUN apt-get update && apt-get --no-install-recommends install -q -y openjdk-7-jre-headless && rm -rf /var/lib/apt/lists/* ADD http://mirrors.jenkins-ci.org/war/1.624/jenkins.war /opt/jenkins.war RUN chmod 644 /opt/jenkins.war ENV JENKINS_HOME /jenkins ENTRYPOINT ["java", "-jar", "/opt/jenkins.war"] EXPOSE 8080 CMD [""]
  • 25. Docker Command execution Every docker command generates new layer. DevOps real time time saver. Take precaution about env variables.
  • 27. Docker commands docker images <#> REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE tpires/neo4j latest 0fd121ddd75b 4 days ago 892.8 MB
  • 28. Docker commands docker run <#> docker run -i -t -d --name neo4j --cap-add=SYS_RESOURCE -p 7474:7474 tpires/neo4j
  • 29. Docker commands docker ps <#> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0fabcaa1e3fe tpires/neo4j "/bin/bash -c /launc 9 minutes ago Up 9 minutes 0.0.0.0:7474->7474/tcp, 1337/tcp neo4j
  • 30. Docker commands docker diff <#> docker diff 0fabcaa1e3fe /etc C /etc/neo4j C /etc/neo4j/neo4j-server.properties A /etc/neo4j/ssl A /etc/neo4j/ssl/snakeoil.cert A /etc/neo4j/ssl/snakeoil.key C /tmp C /tmp/hsperfdata_root A /tmp/hsperfdata_root/84 A /tmp/jetty-0fabcaa1e3fe-7474-browser-_browser-any-24337275114314781.dir A /tmp/jetty-0fabcaa1e3fe-7474-webadmin-html-_webadmin-any-3550160901111854765.dir C /var C /var/lib C /var/lib/neo4j C /var/lib/neo4j/data A /var/lib/neo4j/data/dbms A /var/lib/neo4j/data/dbms/auth A /var/lib/neo4j/data/graph.db A /var/lib/neo4j/data/graph.db/index A /var/lib/neo4j/data/graph.db/lock A /var/lib/neo4j/data/graph.db/messages.log A /var/lib/neo4j/data/graph.db/neostore A /var/lib/neo4j/data/graph.db/neostore.counts.db.a A /var/lib/neo4j/data/graph.db/neostore.id A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db.id A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db.names A /var/lib/neo4j/data/graph.db/neostore.labeltokenstore.db.names.id A /var/lib/neo4j/data/graph.db/neostore.nodestore.db A /var/lib/neo4j/data/graph.db/neostore.nodestore.db.id A /var/lib/neo4j/data/graph.db/neostore.nodestore.db.labels A /var/lib/neo4j/data/graph.db/neostore.nodestore.db.labels.id A /var/lib/neo4j/data/graph.db/neostore.propertystore.db A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.arrays A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.arrays.id A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.id A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index.id A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index.keys A /var/lib/neo4j/data/graph.db/neostore.propertystore.db.index.keys.id
  • 31. Docker commands docker logs <#> docker logs 0fabcaa1e3fe Starting Neo4j Server console-mode... Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=conf/neo4j-server.properties -Djava.util.logging.config.file=conf/logging.properties -XX:+UseCon 2015-08-11 20:04:36.742+0000 INFO [API] Setting startup timeout to: 120000ms based on 120000 2015-08-11 20:04:38.016+0000 INFO [API] Successfully started database 2015-08-11 20:04:38.079+0000 INFO [API] Starting HTTP on port :7474 with 8 threads available 2015-08-11 20:04:38.220+0000 INFO [API] Enabling HTTPS on port :7473 2015-08-11 20:04:38.220+0000 INFO [API] No SSL certificate found, generating a self-signed certificate.. 20:04:38.432 [main] INFO org.eclipse.jetty.util.log - Logging initialized @2302ms 2015-08-11 20:04:38.469+0000 INFO [API] Mounting static content at [/webadmin] from [webadmin-html] 2015-08-11 20:04:38.509+0000 INFO [API] Mounting static content at [/browser] from [browser] 20:04:38.512 [main] INFO org.eclipse.jetty.server.Server - jetty-9.2.4.v20141103 20:04:38.531 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.h.MovedContextHandler@71da109{/,null,AVAILABLE} 20:04:38.575 [main] INFO o.e.j.w.StandardDescriptorProcessor - NO JSP Support for /webadmin, did not find org.apache.jasper.servlet.JspServlet 20:04:38.594 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@6602d014{/webadmin,jar:file:/usr/share/neo4j/system/lib/neo4j-server-2.2.3-static-web.jar!/web 20:04:38.900 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@4e671f1e{/db/manage,null,AVAILABLE} 20:04:39.036 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@4ad697ef{/db/data,null,AVAILABLE} 20:04:39.046 [main] INFO o.e.j.w.StandardDescriptorProcessor - NO JSP Support for /browser, did not find org.apache.jasper.servlet.JspServlet 20:04:39.047 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@60921cf7{/browser,jar:file:/usr/share/neo4j/system/lib/neo4j-browser-2.2.3.jar!/browser,AVAIL 20:04:39.110 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@7929a090{/,null,AVAILABLE} 20:04:39.120 [main] INFO o.e.jetty.server.ServerConnector - Started ServerConnector@5129d373{HTTP/1.1}{0fabcaa1e3fe:7474} 20:04:39.178 [main] INFO o.e.jetty.server.ServerConnector - Started ServerConnector@3938bdec{SSL-HTTP/1.1}{0fabcaa1e3fe:7473} 20:04:39.178 [main] INFO org.eclipse.jetty.server.Server - Started @3052ms 2015-08-11 20:04:39.179+0000 INFO [API] Server started on: http://0fabcaa1e3fe:7474/ 2015-08-11 20:04:39.179+0000 INFO [API] Remote interface ready and available at [http://0fabcaa1e3fe:7474/]
  • 32. Docker commands docker stats <#> docker stats 0fabcaa1e3fe CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O 0fabcaa1e3fe 2.87% 232.9 MB/4.142 GB 5.62% 162.6 kB/3.7 MB
  • 33. Docker Registry • docker pull jessie translates to docker pull registry- 1.docker.io/library/jessie • For internal registry docker pull companyDomain:port/foo/bar
  • 34. Custom Registry • Commercial - Docker trusted registry • Non-commercial - set up your own service registry (Docker Trusted Registry can help you get started)
  • 35. Docker useful tools • Multi container application - Docker Compose • Container clustering - Docker Swarm • Third party integration - Yes you can use Chef and Puppet
  • 36. Cons • kernel sharing (Different flavours of same OS rather the different OS) • You can end up with large number of containers. (Google launch every week 2 billion container instances)
  • 37. Solution • Manage containers as a single system • Kubernetes, mesos, etc. helps to achieve this
  • 38. Kubernetes • Pods • Replication controllers • Labels • Services
  • 39. Summary • Developer environment should be close to production • Works on my machine is way too common problem. • Manual setup is too time consuming , fragile and cumbersome • Vm are too bulky, fragile and carries lot of additional noise. • Container technology provides alternative approach(extremely lightweight) and docker utilises it. • Docker, build once run anywhere. • Easy to scale , cloud ready. • Not possible to run various OS , can run various flavours . • Provides rich tools for enterprise tasks. • Tools like Kubernetes can help.

Notas do Editor

  1. We
  2. docker pull tpires/neo4j , install the image Pull an image or a repository from a Docker registry server
  3. List all the images , output depends on your system
  4. Remember container lifecycle is as long as process run If it becomes daemon container is killed There are couple of workarounds, we can write loop in bash or perform sleep or Supervision, a python tool docker run imageid supervisior -n , you can create supervision.conf file and attach it to the container
  5. Remember container lifecycle is as long as process run If it becomes daemon container is killed There are couple of workarounds, we can write loop in bash or perform sleep or Supervision, a python tool docker run imageid supervisior -n , you can create supervision.conf file and attach it to the container
  6. difference
  7. difference
  8. difference