SlideShare a Scribd company logo
1 of 59
Lucas Jellema
JavaOne 2015, San Francisco, 26th October 2015
Java Developer Intro to Environment
Management with
Vagrant, Puppet, and Docker
2
Overview
Docker Hub
3
Who are you?
• Developer or Administrator – Java, Oracle, Web, NoSQL, …
– Perhaps on a non-Linux laptop
• Limited physical computer resources
– CPU, Memory, Disk Space
• Inclined to try out new stuff – frameworks, tools, products, …
– Quickly, smoothly, without messing up your environment
• Create things you want to share
– Without creating elaborate instructions for installing and configuring
– Without discussions around ‘it works on my machine’ , ‘send me your config files’
• Interested in running stuff on “the cloud”
• No Linux allergy
• Interested in ‘that Docker thing’
• (a bit like me)
4
This session will give you
• What is this Docker thing and why is it a hype?
• How do Containers compare to Virtual Machines?
• How can I build, ship [| share | distribute] and run containers?
– On my local machine and in the cloud?
• A way to more efficiently leverage the physical resources in my computer?
– than through juggling VMs
• A structured and fast way to try out new software
– Without messing up my local environment.
• What tools do I need to get started with Docker
on my non-Linux laptop?
• What is the status of Docker and where is it going?
• How can I get going on my own with Docker?
5
Supporting Materials
• The slides for this presentation
• All demo scripts
• Extended slides with more details
and examples
• Workshop Introduction
Docker + Vagrant + Puppet
http://bit.ly/1LWZZ4s
6
Run
• Docker Container runs Linux – as does the host
• Container is isolated - feels as
stand alone run time environment
– Directory structure, IP address, users and groups
• Shared resources with underlying host
(and therefore other containers)
– memory, CPU, host
• Light weight:
– Quick starting up and stopping
– Leverages underlying Linux kernel, only adds what is different/additional
– Far less physical resource requirements (disk space and memory) than VMs
• Clusters of containers
– Dynamic adding/removing containers from clusters can be done very quickly (Google)
– Especially when containers are stateless
– (no shared session state in containers; possibly in joint cache, shared file system or
NoSQL database)
• Management tools – to monitor and manage individual containers and clusters
of containers (dynamically scale up/scale down)
Docker Host
Docker Container
Docker Container
• ip address
• directories & files
• users & groups
• process table
7
Demo – Run our first Docker
container based on the nginx image
8
Demo –running NGINX container;
with port forwarding
port 80
port 90
IP 172.17.0.7
9
Demo: run container for Ubuntu image
in interactive mode using shell
dockerhost
/tmp/mynewfile.txt
10
Demo: restart container and
attach to it and locate my file
dockerhost
/tmp/mynewfile.txt
11
Micro Services
• Architect the application into a set of collaborating services.
• Each service implements a set of narrowly, related functions.
• The services are elastic, resilient, composable, minimal, and complete.
• Services communicate using standard protocols such as HTTP/REST
• Services are developed
and deployed independently
of one another.
• Each service manages its own state
12
Micro Services
• With Docker, each Micro Service is implemented with a single container
– The micro service is not just encapsulated functionality that needs to be deployed
onto some platform (such as an ESB or BPEL engine)
– instead it ships complete with the fully configured engine that runs in the
standardized container platform
• All you need to run is:
– Start container. Period.
Linux Host + Docker Engine
13
Ship (Container Images)
• Package, Distribute, Share, Publish and Consume container images
– The frozen state of a container (committed after building and further manipulating)
– With everything needed to run the micro service: application and underlying platform
& OS, ready to run on any Docker Engine anywhere
– With an implicit interface (environment variables, link, volume)
Public Docker
Registry
Docker Hub
14
Docker Image Registry
push
Private
Docker
Registry
Docker Hub
push
15
Docker Registry
• Images can be published to Public and Private Registries
– Docker Hub is the default registry
– Docker Hub contains official repositories from many projects and vendors
– Private Registries can be created in the cloud and on premises
• Containers can be started from such images
16
Implicit Image Interface:
environment variables, link, volume
Docker Hub
link mysql
Parameters:
WORDPRESS_DB_PASSWORD,
WORDPRESS_DB_USER, …
Volume
..:/var/lib
/mysql
Parameters:
MYSQL_DATABASE,
MYSQL_ROOT_PASSWORD
17
Demo Ship
Run MySQL and Wordpress
18
Running Wordpress instance
by pulling two public images
port 8080 port 80
dockerhostvm
IP: 10.10.10.29
Docker Hub
19
Commit container as image
and push to registry
dockerhostvm
Docker Hub
/tmp/mynewfile.txt
Dockersig-trial:1.0
20
Image published on public
Docker Hub registry
21
Run container based on my
published image
dockerhostvm
Docker Hub
/tmp/mynewfile.txt
Dockersig-trial:1.0
Dockersig-
trial:1.0
22
How to Ship a Stand-Alone
product?
• Create Installers + Configuration Instructions?
• Make your product success dependent on platform configuration and OS
settings?
• Ship as a container image – everything set up
and ready to run!
• For example:
– RubiconRed – Preferred way to deliver their tool MyST: as Docker Container (image)
23
Ship to Cloud
• Ship Image to [Run on] Cloud
– All product installation, configuration, custom software deployment and testing has
been done – all we need is a place for it to land
– Complete environment, ready to run on any Docker enabled platform
• Many public cloud providers support running Docker Containers
Public Docker
Registry
Docker Hub
24
CD = Container Delivery
• Why not make continuous software delivery include the container as well?
– Automated build does not just build the software but the container as well
– The delivered artifact is the container image
– The Test and Acceptance Environment are by definition the same as the
development environment – because they are the container
25
Containers are built on layers
• Containers (and Container Images) are collections of files in a Docker
controlled file system
• Files are copied-on-write in this file system – and shared until then
• (read only) Images are shared across all containers run from them
– And also shared across images built on top of them
• The Docker host running the below 9 containers has
– 5 containers sharing the same Ubuntu 14.04 image (188 MB once, not 5 times!)
– 4 containers sharing the same CentOS 7 image
Image
Ubuntu 14.04
Tomcat
My Simple
Container
Image
CentOS 7
NGINX Node.js MySQL
web app
13rd
party
app
2
IAM
X mydbY Z
26
Running a Container
adds a Writable Layer
• A container is run from a predefined Image
– This image can be local – possibly used by an existing container or image
• Running a Container entails adding a container specific Writable Layer to
the stack of reuable image layers
• Copy on write: edit or create a file and it gets copied to the writable layer
• A container can be stopped – the writable layer is saved and preserved
– When the container is restarted, the writable layer is activated
• A container can be committed as image –
the writable layer becomes part of the new image
– and is what the new image adds
Image
Ubuntu 14.04
TomcatNGINX
3rd
party
My Web App
Container
server.xml
server.xml
My Web App
Image
server.xml
My Web App
Container
27
Building a Docker Container
• Dockerfile specifies all build steps
– With fairly low level commands
• Start from base image - each step in the Docker Script adds a layer
• A layer is a logical ‘savepoint’ in the container history
– That marks an intermediate ‘image’
– A physical directory somewhere on the Docker Host
• The build context contains all files available during the build process
– Note that additional files can be downloaded (e.g. HTTP with wget and Linux
package updates with apt-update)
FROM Ubuntu:14.04
COPY
RUN
WORKDIR
RUN
EXPOSE
CMD
COPY
RUN
RUN
Image
Ubuntu 14.04
Build
context
Final
Image
Intermediate
Image
28
Subsequent Build Actions
• When actions are performed in the container as initially built – more files
are added to the writable layer
• There is no distinction between what was initially done based on the
Dockerfile and what is subsequently done in the running container
• At some point, the container is committed and becomes an image – to be
published, shipped, run and extended even further
Base Image
Ubuntu 14.04
COPY
RUN
RUN
Base Image
Ubuntu 14.04
COPY
RUN
RUN
Writable Layer
run commit
Final
Image
Standard
Image,
locally built
29
Build
• In addition to 10Ks of reusable images to start containers from
• There are a zilion Dockerfiles to leverage for building images
– Download script
– Add software packages and installers (because of license reasons)
– Tweak the script to fit your own needs
OR (preferably)
– Run the script, create a local image and then create your own Docker File that takes
this image as its starting point
Your Own
Dockerfile
Your Tweaked
Image
30
“Docker” Search results on
GitHub
31
Demo Build
32
Demo run container after build
33
Image and Container Specifics
Container
Base Image
Ubuntu 14.04
COPY
RUN
RUN
Writable Layer
run
Container “state”
tag
remove
inspect
save
tar load …
pullregistry
34
Image and Container Specifics
Container
Base Image
Ubuntu 14.04
COPY
RUN
RUN
Writable Layer
run
start
attach
(un)pause
kill
stop
restart
remove
inspect
logs
Container “state”
export
tar
…
Flattened, no
image details
35
Container Details & Operations
Container
web
Container
db
link
docker run –it
<image-id> /bin/bash
Container
xxx
link
link
808080
/tmp/files
Shared Files
/data
/host_files
Docker
storage
/software
Shared Files
/repos/repos
1
2
3
4
1
2
3
4
2
4
–p 8080:80
-v /data -v /tmp/files:/host_files
-volumes-from xxx
--name web --link db:db1 –link xxx:web_xxx
36
For example: build container
for Oracle WebLogic
• Clone from GitHub to
Docker host
– Dockerfile
– Shell scripts
– Supporting files
• Download RPMs for
– JDK 8
– WebLogic 12.1.3
• Docker Build
• Optionally use second
Docker file on top of
WebLogic image to
create a WLS Domain
Standard
Oracle WebLogic
Image,
locally built
37
Build File for WebLogic
Base Image
Oraclelinux:7
RUN
COPY
RUN
COPY
COPY
COPY
38
Build File for WebLogic (2)
Base Image
Oraclelinux:7
RUN
COPY
RUN
COPY
COPY
COPY
RUN
RUN
RUN
RUN
RUN
Base Image
Oraclelinux:7
RUN
COPY
RUN
COPY
COPY
COPY
RUN
RUN
RUN
RUN
RUN
39
Turn container into image
Base Image
Oraclelinux:7
RUN
COPY
RUN
COPY
COPY
COPY
RUN
RUN
RUN
RUN
RUN
docker commit <container-id> weblogic:12.1.3-dev
40
Automated Configuration
Management
• Use of (hard coded, environment specific) Shell Scripting to create |
compose | configure environments is not exactly the latest fashion
• Declarative, automated configuration management
tools have us specify what we need and then
make that happen
– No scripting
– Cross platform
– Parametrized
– Leveraging public catalogs of
environment definitions
Container Build process
• Regular Docker Build
– From base image
– Add Puppet support
– Add Puppet Manifests &
Modules
• Start Container
– Optional: Map Volume from
host with large files
– Run Puppet to apply Manifests
– Perform additional actions in
container
– Stop Container, Commit as Image
• Push/Ship new image
• Run containers from
final image
dockerhostvm
Dockerfile
my-base-container
/files
/puppet
/files
volume
1
Very big files
Proposed workflow for building
Docker Container Images
2
3
4
5
4
21
3
/puppet Manifests/Modules
5
7
7
Base Image
Oraclelinux:7
RUN
COPY
RUN
COPY
COPY
COPY
RUN
RUN
RUN
RUN
RUN
6
6
88
9
9
42
Notes on
Using Puppet with Docker
• After applying Puppet – the container can be stopped, tagged and used as base
image for next Docker Build
– That could add EXPOSE, ENV, CMD or ENTRYPOINT
• With some workarounds, Puppet apply can be made to run during Docker Build
(with RUN in Dockerfile)
– Less control over build context
– No Volume mapping from host
• There are Puppet Modules to use for automating the build pipeline of Docker
(leveraging the Docker API)
– To install Docker, build container, create and ship an image, run container
• What applies to Puppet by and large applies to similar tools such as Chef, Salt
and Ansible
• Puppet Modules are available for many Oracle Database & Fusion Middleware
configuration management tasks
– Oracle Database (EE, SE, XE)
– WebLogic, SOA Suite, OSB, BPM Suite, WLST
– JDK, Opatch, VirtualBox, GlassFish, Hudson, Maven
43
Demo build with Puppet
44
Run GUI applications
in Docker Container
Container
docker run –d –it
-v /tmp/.X11-unix:/tmp/.X11-unix
-e DISPLAY=$DISPLAY
<image-id> /bin/bash
/tmp/.X11-unix
/tmp/.X11-unix
dockerhost
GUI applications
45
Docker and Windows
• Docker sits on Linux Containers
– Windows Server 2016 will have containers too – and Docker will sit on those as well
– However, today, Docker does not run on Windows (nor on )
46
Docker cannot run on Windows - directly
dockerhost
Container
Container
Container
47
Docker cannot run on Windows
- directly, without Linux VM
dockerhost
Container
Container
Container
48
Vagrant to the rescue
dockerhost
Container
Container
Container
49
Vagrant to the rescue
• Based on simple declarative definitions…
• Vagrant provisions environments through various providers
– VirtualBox, VMware, AWS
• Subsequently, provisioning (‘configuration management’) using shell
scripts, Chef, Ansible, Salt or Puppet
• Vagrant supports Docker
– Create Docker Host VM, Build | Run | Manage Container
• Vagrant makes host-container folder mapping and networking quite easy
dockerhost
Container
dockerhostvm
50
Vagrant Docker Provisioning
• Vagrantfile defines the Container to run – including name and initial
command and also synched folders (i.e. host <=> container mapping)
• Dockerfile contains build recipe for the Container we want to build
• DockerHostVagrantfile describes the VM to be used as Docker Host
Vagrantfile
DockerHostVagrantfile
Dockerfile
my-little-container
other-container
some-container
51
Vagrant Docker Provisioning
dockerhostvm
Vagrantfile
DockerHostVagrantfile
Dockerfile
my-little-container
build process
Docker Hub
ubuntu:14.04
/u01/readme.txt
Vagrant Boxes
ubuntu/trusty64
52
Vagrant with Docker
Folder Mapping
dockerhostvm
Vagrantfile
DockerHostVagrantfile
my-little-container
/vagrant
/vagrant
/host_temp
/host_data
/var/lib
/docker
/docker_
generatedId
53
Demo – Run Docker
Containers with Vagrant
• This entire session was Vagrant based!
• Vagrant:
– Configures Windows Host/Container Folder mapping and Host VM IP Settings
– Can stop and start as well as create and destroy containers
• Note: docker-run and docker-logs are special Vagrant commands
– For one-off command in container and to get insight in what happens in the container
54
Docker on Windows
– other options
• Docker Toolbox (since August 2015) replaces Boot2Docker
– Contains Docker Client for Windows, Kitematic (Docker GUI, alpha release), Docker
Machine, Docker Engine and leverages Oracle VirtualBox
– Still uses Boot2Docker Linux Distribution to run containers
– No support for GUI in containers
55
Docker Containers
Status & Future
• Growing adoption beyond innovators
and [very] early adopters
• Growing number of tools around Docker
– Monitoring, Management, Clustering, …
• Windows
– support for containers in Windows 2016
• Solaris Zones to work
with Docker Client
• Cloud Support
– By a fast evolving number of
IaaS/PaaS cloud providers
– AWS, Azure,
Google Container Engine
• Open Container Initiative
• docker.con (EU)
56
Oracle and Docker
• Oracle Linux 6 and 7 Images
• Oracle MySQL image
• WebLogic certified on Docker
– Official “Docker Build-scripts
in GitHub to create images”
• Solaris Zones leveraged by
Docker Engine
• Participate in OCI
• Docker on Oracle Cloud??
57
Summary
• Docker helps you run isolated environments in a quick, lean way
– Containers are far more light weight, yet almost as stand alone as VMs
– Hundreds of official Docker Container base images are publicly available
• Docker Containers are micro services
– with an exposed interface to inject dependencies (volume, link, environment settings)
• Share | Distribute | Publish your complete, working environments is very
easy using Docker container images
– Either push to registry or save as TAR
• CD could become ‘Container Delivery’ – deliver software + environment
• Many cloud providers can run Docker Containers
• Do not attempt to build containers completely from Dockerfile
– Leverage declarative configuration management tools such as Puppet and Chef
• Tools like Vagrant allow you to easily work with Docker on a non-Linux
host
58
What did you get from this
session?
• What is this Docker thing and why is it a hype?
• How do Containers compare to Virtual Machines?
• How can I build, ship [| share | distribute] and run containers?
– On my local machine and in the cloud?
• A way to more efficiently leverage the physical resources in my computer?
– than through juggling VMs
• A structured and fast way to try out new software
– Without messing up my local environment.
• What tools do I need to get started with Docker
on my non-Linux laptop?
• What is the status of Docker and where is it going?
• How can I get going on my own with Docker?
REPEAT SHORT URL FOR RESOURCES
Blog: http://technology.amis.nl
Twitter: lucasjellema
Mail: lucasjellema@gmail.com

More Related Content

What's hot

Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distributionDocker, Inc.
 
Containerization and Docker
Containerization and DockerContainerization and Docker
Containerization and DockerMegha Bansal
 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux ContainerBalaji Rajan
 
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 — SCALE12XJérôme Petazzoni
 
Docker 101 Workshop slides (JavaOne 2017)
Docker 101 Workshop slides (JavaOne 2017)Docker 101 Workshop slides (JavaOne 2017)
Docker 101 Workshop slides (JavaOne 2017)Eric Smalling
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
 
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 OCCSFrank Munz
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to DockerJian Wu
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 Docker, Inc.
 

What's hot (20)

Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distribution
 
Containerization and Docker
Containerization and DockerContainerization and Docker
Containerization and Docker
 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
 
Introduction to container based virtualization with docker
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with docker
 
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
 
Docker 101 Workshop slides (JavaOne 2017)
Docker 101 Workshop slides (JavaOne 2017)Docker 101 Workshop slides (JavaOne 2017)
Docker 101 Workshop slides (JavaOne 2017)
 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
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 by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
 

Viewers also liked

Vagrant and Puppet primer - NWDUG Sept 2013
Vagrant and Puppet primer - NWDUG Sept 2013Vagrant and Puppet primer - NWDUG Sept 2013
Vagrant and Puppet primer - NWDUG Sept 2013digital006
 
Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in developmentAdam Culp
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environmentbocribbz
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Partner S.A.
 
RightScale Webinar: Best Practices: Software Development Strategies Using Win...
RightScale Webinar: Best Practices: Software Development Strategies Using Win...RightScale Webinar: Best Practices: Software Development Strategies Using Win...
RightScale Webinar: Best Practices: Software Development Strategies Using Win...RightScale
 
Vagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyVagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyGeronimo Orozco
 
Ansible overview
Ansible overviewAnsible overview
Ansible overviewSunchan Lee
 
RightScale Webinar: Successfully Deploy Your Windows Workloads
RightScale Webinar: Successfully Deploy Your Windows WorkloadsRightScale Webinar: Successfully Deploy Your Windows Workloads
RightScale Webinar: Successfully Deploy Your Windows WorkloadsRightScale
 
Vagrant and ansible
Vagrant and ansibleVagrant and ansible
Vagrant and ansiblemanicflight
 
Simple flexible deployments with openstack ansible
Simple flexible deployments with openstack ansibleSimple flexible deployments with openstack ansible
Simple flexible deployments with openstack ansibleJean-Philippe Evrard
 
Ansible module development 101
Ansible module development 101Ansible module development 101
Ansible module development 101yfauser
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...VMware Tanzu
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppetPuppet
 
Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...techblog
 
Chef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do It
Chef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do ItChef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do It
Chef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do ItRightScale
 
Orchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora ProjectOrchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora ProjectAditya Patawari
 

Viewers also liked (20)

Vagrant
VagrantVagrant
Vagrant
 
Vagrant and Puppet primer - NWDUG Sept 2013
Vagrant and Puppet primer - NWDUG Sept 2013Vagrant and Puppet primer - NWDUG Sept 2013
Vagrant and Puppet primer - NWDUG Sept 2013
 
Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in development
 
Vagrant
VagrantVagrant
Vagrant
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
RightScale Webinar: Best Practices: Software Development Strategies Using Win...
RightScale Webinar: Best Practices: Software Development Strategies Using Win...RightScale Webinar: Best Practices: Software Development Strategies Using Win...
RightScale Webinar: Best Practices: Software Development Strategies Using Win...
 
Vagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyVagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easy
 
Ansible overview
Ansible overviewAnsible overview
Ansible overview
 
RightScale Webinar: Successfully Deploy Your Windows Workloads
RightScale Webinar: Successfully Deploy Your Windows WorkloadsRightScale Webinar: Successfully Deploy Your Windows Workloads
RightScale Webinar: Successfully Deploy Your Windows Workloads
 
Vagrant and ansible
Vagrant and ansibleVagrant and ansible
Vagrant and ansible
 
Vagrant - Concept
Vagrant - ConceptVagrant - Concept
Vagrant - Concept
 
Simple flexible deployments with openstack ansible
Simple flexible deployments with openstack ansibleSimple flexible deployments with openstack ansible
Simple flexible deployments with openstack ansible
 
Ansible module development 101
Ansible module development 101Ansible module development 101
Ansible module development 101
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
An Integrated Pipeline for Private and Public Clouds with Jenkins, Artifactor...
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppet
 
Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...
 
Chef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do It
Chef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do ItChef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do It
Chef vs. Puppet in the Cloud: How Telepictures and MoneySuperMarket Do It
 
Orchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora ProjectOrchestration with Ansible at Fedora Project
Orchestration with Ansible at Fedora Project
 

Similar to Java Developer Intro to Environment Management with Vagrant, Puppet, and Docker (JavaOne 2015, BOF2817)

Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
aws 2023 nov docker.pptx
aws 2023 nov docker.pptxaws 2023 nov docker.pptx
aws 2023 nov docker.pptxmalikawannasi
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsElasTest Project
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!Adrian Otto
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Tech talk on docker with demo
Tech talk on docker with demoTech talk on docker with demo
Tech talk on docker with demoSandeep Karnawat
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWSAndrew Heifetz
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerHiroki Endo
 
Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Charles Anderson
 

Similar to Java Developer Intro to Environment Management with Vagrant, Puppet, and Docker (JavaOne 2015, BOF2817) (20)

Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
aws 2023 nov docker.pptx
aws 2023 nov docker.pptxaws 2023 nov docker.pptx
aws 2023 nov docker.pptx
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!
 
Docker Dojo
Docker DojoDocker Dojo
Docker Dojo
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Tech talk on docker with demo
Tech talk on docker with demoTech talk on docker with demo
Tech talk on docker with demo
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker
DockerDocker
Docker
 
Docker.ppt
Docker.pptDocker.ppt
Docker.ppt
 
Docker 2014
Docker 2014Docker 2014
Docker 2014
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
 
Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014Docker - Hack Salem! - November 2014
Docker - Hack Salem! - November 2014
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Recently uploaded

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Java Developer Intro to Environment Management with Vagrant, Puppet, and Docker (JavaOne 2015, BOF2817)

  • 1. Lucas Jellema JavaOne 2015, San Francisco, 26th October 2015 Java Developer Intro to Environment Management with Vagrant, Puppet, and Docker
  • 3. 3 Who are you? • Developer or Administrator – Java, Oracle, Web, NoSQL, … – Perhaps on a non-Linux laptop • Limited physical computer resources – CPU, Memory, Disk Space • Inclined to try out new stuff – frameworks, tools, products, … – Quickly, smoothly, without messing up your environment • Create things you want to share – Without creating elaborate instructions for installing and configuring – Without discussions around ‘it works on my machine’ , ‘send me your config files’ • Interested in running stuff on “the cloud” • No Linux allergy • Interested in ‘that Docker thing’ • (a bit like me)
  • 4. 4 This session will give you • What is this Docker thing and why is it a hype? • How do Containers compare to Virtual Machines? • How can I build, ship [| share | distribute] and run containers? – On my local machine and in the cloud? • A way to more efficiently leverage the physical resources in my computer? – than through juggling VMs • A structured and fast way to try out new software – Without messing up my local environment. • What tools do I need to get started with Docker on my non-Linux laptop? • What is the status of Docker and where is it going? • How can I get going on my own with Docker?
  • 5. 5 Supporting Materials • The slides for this presentation • All demo scripts • Extended slides with more details and examples • Workshop Introduction Docker + Vagrant + Puppet http://bit.ly/1LWZZ4s
  • 6. 6 Run • Docker Container runs Linux – as does the host • Container is isolated - feels as stand alone run time environment – Directory structure, IP address, users and groups • Shared resources with underlying host (and therefore other containers) – memory, CPU, host • Light weight: – Quick starting up and stopping – Leverages underlying Linux kernel, only adds what is different/additional – Far less physical resource requirements (disk space and memory) than VMs • Clusters of containers – Dynamic adding/removing containers from clusters can be done very quickly (Google) – Especially when containers are stateless – (no shared session state in containers; possibly in joint cache, shared file system or NoSQL database) • Management tools – to monitor and manage individual containers and clusters of containers (dynamically scale up/scale down) Docker Host Docker Container Docker Container • ip address • directories & files • users & groups • process table
  • 7. 7 Demo – Run our first Docker container based on the nginx image
  • 8. 8 Demo –running NGINX container; with port forwarding port 80 port 90 IP 172.17.0.7
  • 9. 9 Demo: run container for Ubuntu image in interactive mode using shell dockerhost /tmp/mynewfile.txt
  • 10. 10 Demo: restart container and attach to it and locate my file dockerhost /tmp/mynewfile.txt
  • 11. 11 Micro Services • Architect the application into a set of collaborating services. • Each service implements a set of narrowly, related functions. • The services are elastic, resilient, composable, minimal, and complete. • Services communicate using standard protocols such as HTTP/REST • Services are developed and deployed independently of one another. • Each service manages its own state
  • 12. 12 Micro Services • With Docker, each Micro Service is implemented with a single container – The micro service is not just encapsulated functionality that needs to be deployed onto some platform (such as an ESB or BPEL engine) – instead it ships complete with the fully configured engine that runs in the standardized container platform • All you need to run is: – Start container. Period. Linux Host + Docker Engine
  • 13. 13 Ship (Container Images) • Package, Distribute, Share, Publish and Consume container images – The frozen state of a container (committed after building and further manipulating) – With everything needed to run the micro service: application and underlying platform & OS, ready to run on any Docker Engine anywhere – With an implicit interface (environment variables, link, volume)
  • 14. Public Docker Registry Docker Hub 14 Docker Image Registry push Private Docker Registry Docker Hub push
  • 15. 15 Docker Registry • Images can be published to Public and Private Registries – Docker Hub is the default registry – Docker Hub contains official repositories from many projects and vendors – Private Registries can be created in the cloud and on premises • Containers can be started from such images
  • 16. 16 Implicit Image Interface: environment variables, link, volume Docker Hub link mysql Parameters: WORDPRESS_DB_PASSWORD, WORDPRESS_DB_USER, … Volume ..:/var/lib /mysql Parameters: MYSQL_DATABASE, MYSQL_ROOT_PASSWORD
  • 17. 17 Demo Ship Run MySQL and Wordpress
  • 18. 18 Running Wordpress instance by pulling two public images port 8080 port 80 dockerhostvm IP: 10.10.10.29 Docker Hub
  • 19. 19 Commit container as image and push to registry dockerhostvm Docker Hub /tmp/mynewfile.txt Dockersig-trial:1.0
  • 20. 20 Image published on public Docker Hub registry
  • 21. 21 Run container based on my published image dockerhostvm Docker Hub /tmp/mynewfile.txt Dockersig-trial:1.0 Dockersig- trial:1.0
  • 22. 22 How to Ship a Stand-Alone product? • Create Installers + Configuration Instructions? • Make your product success dependent on platform configuration and OS settings? • Ship as a container image – everything set up and ready to run! • For example: – RubiconRed – Preferred way to deliver their tool MyST: as Docker Container (image)
  • 23. 23 Ship to Cloud • Ship Image to [Run on] Cloud – All product installation, configuration, custom software deployment and testing has been done – all we need is a place for it to land – Complete environment, ready to run on any Docker enabled platform • Many public cloud providers support running Docker Containers Public Docker Registry Docker Hub
  • 24. 24 CD = Container Delivery • Why not make continuous software delivery include the container as well? – Automated build does not just build the software but the container as well – The delivered artifact is the container image – The Test and Acceptance Environment are by definition the same as the development environment – because they are the container
  • 25. 25 Containers are built on layers • Containers (and Container Images) are collections of files in a Docker controlled file system • Files are copied-on-write in this file system – and shared until then • (read only) Images are shared across all containers run from them – And also shared across images built on top of them • The Docker host running the below 9 containers has – 5 containers sharing the same Ubuntu 14.04 image (188 MB once, not 5 times!) – 4 containers sharing the same CentOS 7 image Image Ubuntu 14.04 Tomcat My Simple Container Image CentOS 7 NGINX Node.js MySQL web app 13rd party app 2 IAM X mydbY Z
  • 26. 26 Running a Container adds a Writable Layer • A container is run from a predefined Image – This image can be local – possibly used by an existing container or image • Running a Container entails adding a container specific Writable Layer to the stack of reuable image layers • Copy on write: edit or create a file and it gets copied to the writable layer • A container can be stopped – the writable layer is saved and preserved – When the container is restarted, the writable layer is activated • A container can be committed as image – the writable layer becomes part of the new image – and is what the new image adds Image Ubuntu 14.04 TomcatNGINX 3rd party My Web App Container server.xml server.xml My Web App Image server.xml My Web App Container
  • 27. 27 Building a Docker Container • Dockerfile specifies all build steps – With fairly low level commands • Start from base image - each step in the Docker Script adds a layer • A layer is a logical ‘savepoint’ in the container history – That marks an intermediate ‘image’ – A physical directory somewhere on the Docker Host • The build context contains all files available during the build process – Note that additional files can be downloaded (e.g. HTTP with wget and Linux package updates with apt-update) FROM Ubuntu:14.04 COPY RUN WORKDIR RUN EXPOSE CMD COPY RUN RUN Image Ubuntu 14.04 Build context Final Image Intermediate Image
  • 28. 28 Subsequent Build Actions • When actions are performed in the container as initially built – more files are added to the writable layer • There is no distinction between what was initially done based on the Dockerfile and what is subsequently done in the running container • At some point, the container is committed and becomes an image – to be published, shipped, run and extended even further Base Image Ubuntu 14.04 COPY RUN RUN Base Image Ubuntu 14.04 COPY RUN RUN Writable Layer run commit Final Image
  • 29. Standard Image, locally built 29 Build • In addition to 10Ks of reusable images to start containers from • There are a zilion Dockerfiles to leverage for building images – Download script – Add software packages and installers (because of license reasons) – Tweak the script to fit your own needs OR (preferably) – Run the script, create a local image and then create your own Docker File that takes this image as its starting point Your Own Dockerfile Your Tweaked Image
  • 32. 32 Demo run container after build
  • 33. 33 Image and Container Specifics Container Base Image Ubuntu 14.04 COPY RUN RUN Writable Layer run Container “state” tag remove inspect save tar load … pullregistry
  • 34. 34 Image and Container Specifics Container Base Image Ubuntu 14.04 COPY RUN RUN Writable Layer run start attach (un)pause kill stop restart remove inspect logs Container “state” export tar … Flattened, no image details
  • 35. 35 Container Details & Operations Container web Container db link docker run –it <image-id> /bin/bash Container xxx link link 808080 /tmp/files Shared Files /data /host_files Docker storage /software Shared Files /repos/repos 1 2 3 4 1 2 3 4 2 4 –p 8080:80 -v /data -v /tmp/files:/host_files -volumes-from xxx --name web --link db:db1 –link xxx:web_xxx
  • 36. 36 For example: build container for Oracle WebLogic • Clone from GitHub to Docker host – Dockerfile – Shell scripts – Supporting files • Download RPMs for – JDK 8 – WebLogic 12.1.3 • Docker Build • Optionally use second Docker file on top of WebLogic image to create a WLS Domain Standard Oracle WebLogic Image, locally built
  • 37. 37 Build File for WebLogic Base Image Oraclelinux:7 RUN COPY RUN COPY COPY COPY
  • 38. 38 Build File for WebLogic (2) Base Image Oraclelinux:7 RUN COPY RUN COPY COPY COPY RUN RUN RUN RUN RUN
  • 39. Base Image Oraclelinux:7 RUN COPY RUN COPY COPY COPY RUN RUN RUN RUN RUN 39 Turn container into image Base Image Oraclelinux:7 RUN COPY RUN COPY COPY COPY RUN RUN RUN RUN RUN docker commit <container-id> weblogic:12.1.3-dev
  • 40. 40 Automated Configuration Management • Use of (hard coded, environment specific) Shell Scripting to create | compose | configure environments is not exactly the latest fashion • Declarative, automated configuration management tools have us specify what we need and then make that happen – No scripting – Cross platform – Parametrized – Leveraging public catalogs of environment definitions
  • 41. Container Build process • Regular Docker Build – From base image – Add Puppet support – Add Puppet Manifests & Modules • Start Container – Optional: Map Volume from host with large files – Run Puppet to apply Manifests – Perform additional actions in container – Stop Container, Commit as Image • Push/Ship new image • Run containers from final image dockerhostvm Dockerfile my-base-container /files /puppet /files volume 1 Very big files Proposed workflow for building Docker Container Images 2 3 4 5 4 21 3 /puppet Manifests/Modules 5 7 7 Base Image Oraclelinux:7 RUN COPY RUN COPY COPY COPY RUN RUN RUN RUN RUN 6 6 88 9 9
  • 42. 42 Notes on Using Puppet with Docker • After applying Puppet – the container can be stopped, tagged and used as base image for next Docker Build – That could add EXPOSE, ENV, CMD or ENTRYPOINT • With some workarounds, Puppet apply can be made to run during Docker Build (with RUN in Dockerfile) – Less control over build context – No Volume mapping from host • There are Puppet Modules to use for automating the build pipeline of Docker (leveraging the Docker API) – To install Docker, build container, create and ship an image, run container • What applies to Puppet by and large applies to similar tools such as Chef, Salt and Ansible • Puppet Modules are available for many Oracle Database & Fusion Middleware configuration management tasks – Oracle Database (EE, SE, XE) – WebLogic, SOA Suite, OSB, BPM Suite, WLST – JDK, Opatch, VirtualBox, GlassFish, Hudson, Maven
  • 44. 44 Run GUI applications in Docker Container Container docker run –d –it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY <image-id> /bin/bash /tmp/.X11-unix /tmp/.X11-unix dockerhost GUI applications
  • 45. 45 Docker and Windows • Docker sits on Linux Containers – Windows Server 2016 will have containers too – and Docker will sit on those as well – However, today, Docker does not run on Windows (nor on )
  • 46. 46 Docker cannot run on Windows - directly dockerhost Container Container Container
  • 47. 47 Docker cannot run on Windows - directly, without Linux VM dockerhost Container Container Container
  • 48. 48 Vagrant to the rescue dockerhost Container Container Container
  • 49. 49 Vagrant to the rescue • Based on simple declarative definitions… • Vagrant provisions environments through various providers – VirtualBox, VMware, AWS • Subsequently, provisioning (‘configuration management’) using shell scripts, Chef, Ansible, Salt or Puppet • Vagrant supports Docker – Create Docker Host VM, Build | Run | Manage Container • Vagrant makes host-container folder mapping and networking quite easy dockerhost Container
  • 50. dockerhostvm 50 Vagrant Docker Provisioning • Vagrantfile defines the Container to run – including name and initial command and also synched folders (i.e. host <=> container mapping) • Dockerfile contains build recipe for the Container we want to build • DockerHostVagrantfile describes the VM to be used as Docker Host Vagrantfile DockerHostVagrantfile Dockerfile my-little-container other-container some-container
  • 51. 51 Vagrant Docker Provisioning dockerhostvm Vagrantfile DockerHostVagrantfile Dockerfile my-little-container build process Docker Hub ubuntu:14.04 /u01/readme.txt Vagrant Boxes ubuntu/trusty64
  • 52. 52 Vagrant with Docker Folder Mapping dockerhostvm Vagrantfile DockerHostVagrantfile my-little-container /vagrant /vagrant /host_temp /host_data /var/lib /docker /docker_ generatedId
  • 53. 53 Demo – Run Docker Containers with Vagrant • This entire session was Vagrant based! • Vagrant: – Configures Windows Host/Container Folder mapping and Host VM IP Settings – Can stop and start as well as create and destroy containers • Note: docker-run and docker-logs are special Vagrant commands – For one-off command in container and to get insight in what happens in the container
  • 54. 54 Docker on Windows – other options • Docker Toolbox (since August 2015) replaces Boot2Docker – Contains Docker Client for Windows, Kitematic (Docker GUI, alpha release), Docker Machine, Docker Engine and leverages Oracle VirtualBox – Still uses Boot2Docker Linux Distribution to run containers – No support for GUI in containers
  • 55. 55 Docker Containers Status & Future • Growing adoption beyond innovators and [very] early adopters • Growing number of tools around Docker – Monitoring, Management, Clustering, … • Windows – support for containers in Windows 2016 • Solaris Zones to work with Docker Client • Cloud Support – By a fast evolving number of IaaS/PaaS cloud providers – AWS, Azure, Google Container Engine • Open Container Initiative • docker.con (EU)
  • 56. 56 Oracle and Docker • Oracle Linux 6 and 7 Images • Oracle MySQL image • WebLogic certified on Docker – Official “Docker Build-scripts in GitHub to create images” • Solaris Zones leveraged by Docker Engine • Participate in OCI • Docker on Oracle Cloud??
  • 57. 57 Summary • Docker helps you run isolated environments in a quick, lean way – Containers are far more light weight, yet almost as stand alone as VMs – Hundreds of official Docker Container base images are publicly available • Docker Containers are micro services – with an exposed interface to inject dependencies (volume, link, environment settings) • Share | Distribute | Publish your complete, working environments is very easy using Docker container images – Either push to registry or save as TAR • CD could become ‘Container Delivery’ – deliver software + environment • Many cloud providers can run Docker Containers • Do not attempt to build containers completely from Dockerfile – Leverage declarative configuration management tools such as Puppet and Chef • Tools like Vagrant allow you to easily work with Docker on a non-Linux host
  • 58. 58 What did you get from this session? • What is this Docker thing and why is it a hype? • How do Containers compare to Virtual Machines? • How can I build, ship [| share | distribute] and run containers? – On my local machine and in the cloud? • A way to more efficiently leverage the physical resources in my computer? – than through juggling VMs • A structured and fast way to try out new software – Without messing up my local environment. • What tools do I need to get started with Docker on my non-Linux laptop? • What is the status of Docker and where is it going? • How can I get going on my own with Docker? REPEAT SHORT URL FOR RESOURCES

Editor's Notes

  1. https://technology.amis.nl/2015/08/29/vagrant-docker-virtualbox-and-the-graphical-desktop-for-gui-applications-in-docker-containers/