SlideShare a Scribd company logo
July 2018
An IntroductionTo Configuring Domino for
Docker
Gabriella Davis - IBM Lifetime Champion for Social Business
gabriella@turtlepartnership.com
CollabSphere	2018	Sponsors
Gab Davis
✤ Admin of all things and especially quite complicated
things where the fun is
✤ Working with the design, deployment and security of IBM
technologies within global infrastructures
✤ working with the real world security and privacy aspects
of expanding data ecosystems
✤ Stubborn and relentless problem solver
✤ http://turtleblog.infohttps://www.turtlepartnership.com
✤ IBM Lifetime Champion
Terminology InTheWorld Of
Containerisation
DevOps
✤ DevOps or Developer Operations refers to the collaboration of software development and developers
with IT operations
✤ it refers to practices, processes and communication not specific technologies
✤ good DevOps practices are designed around rapid, consistent and reliable systems
✤ The goal of DevOps is to ensure the seamless delivery and maintenance of applications
Microservices
✤ Applications were traditionally developed in entirety with every function of the application grouped
together and operating in concert
✤ for that reason applications can often be large, over developed and hard to update
✤ a change to a single function has to be incorporated into the entire application without any impact
✤ Microservices architecture refers to applications that are developed as separate functional or core
services each operating in their own isolated container but able to talk to each other
✤ updates are simpler and minimising the overall application size is easier by deploying just those
micro services that are needed
✤ Domino Tasks = Microservices ?
Virtualisation
✤ Isolating applications running on a single physical server
✤ Virtualisation allows us to use software to mimic physical hardware
✤ Using virtual machines we can more easily create new server instances and scale them
✤ This saves both time and cost
✤ The use of virtual machines and virtual environments has grown exponentially in the past decade
Virtual Machine vs Container
With little OS of their own, containers are more lightweight and
allow the host OS and hardware to be utilised more efficiently
Virtual
Machines
Virtual Machine vs Container
With little OS of their own, containers are more lightweight and
allow the host OS and hardware to be utilised more efficiently
Virtual
Machines
Containers
Virtual Machine or Container?
It’s not an either / or - both architectures have their benefits
and drawbacks
Virtual Machine Container
More isolated and more secure
Portable, simple to move between hosts or deploy from
development directly to production
Can run different operating systems in each virtual machine
and not be tied to the host OS
Fast to start up with no OS overhead
Able to granularly scale use of resources Able to make more efficient use of host resources
More work to set up and manage Collectively dependent upon and all using the same host OS
Each VM must have enough resources assigned to also run
the VMs OS
Potential for security vulnerability via a “bleed” from the
container to the OS and the process that started it
Containers Offer..
✤ Self-contained sandbox environments that host applications including micro services
✤ Containers do not have an entire OS installed inside them the way virtual servers do but instead share the OS
of the host machine
✤ Multiple containers can share the OS of a host machine with their own isolated application and file system
✤ Container architecture is designed to be portable and simple to update / maintain
✤ A container would usually contain a single service so that maximum benefit can be leveraged from the
portability
✤ one service or application to one container
✤ each application environment is not dependent on the other
Docker
✤ Docker is an open source container based virtualisation solution
✤ There is both a “Docker” client and a “Docker” server
✤ Docker is not the only container environment, there are others such as rkt (Rocket) but IBM are using
Docker for Connections Pink and it’s supported in a wide variety of hosting environments including
AWS, Azure and Rackspace
✤ Docker can be quickly installed on Linux, Windows and Mac
Kubernetes and Docker Swarm
✤ Containers must be deployed and managed
✤ management tools aren’t easy
✤ Containers can also be clustered and load managed by a cluster manager
✤ Docker Swarm is a native cluster manager using the Docker API so it requires Docker containers
✤ Kubernetes evolved out of Google’s expertise and was far ahead of Docker Swarm for many years but no longer
✤ There are many tools out there to help cluster and manage Docker containers
✤ If you are going to have exclusively docker containers than Docker Swarm may be a better approach than
Kubernetes
✤ Clustering at Container level has to be very carefully considered with Domino containers
Getting Started
Devops and Containers
✤ Developers love containers
✤ They make it easy to isolate microservices and swap out updated code
✤ However that ease comes with risk
✤ each container is drawing resources from the same host
✤ each container has separately mounted storage and often nested dependencies
✤ spawning a new container from an image will not deploy changes made inside an existing spawned container
✤ Process is everything
✤ Process is Operations and Development working together
Mac docker install supports Linux containers
Windows docker install supports Windows
2016 server core containers and Linux (kind
of)| using Linuxkit (don’t do it!)
Images and Containers
✤ You don’t run the image itself but use the Docker server to spawn
a container based upon that image
✤ You can spawn as many containers as you want using the same
image on the same host
✤ Each time a new container starts it is given a name, an ID and a tag
✤ Changes made inside the container are not saved when you quit it
unless you commit those changes back to a new image
✤ Starting a container from an image also includes mounting storage
✤ So is having a re-usable Domino image useful?
IMAGE
CONTAINER
ID
TAG
Running Process
NEW IMAGE
docker run spawns a container
instance based on an image
docker commit creates a new
image based on a container
Name
Commands For Reviewing Containers
✤ Once docker CE or EE is installed and active the command “docker” will
work in a command window
✤ docker images - shows all existing images in the registry
✤ docker ps - shows all existing containers
Docker Pull Images
✤ the Docker Store (store.docker.com) has hundreds of containers that you can use
✤ docker pull microsoft/windowsservercore (the windows 2016 server core container)
✤ docker pull registry.access.redhat.com/rhel7 (rhel 7)
✤ docker pull mongo
✤ docker pull store/ibmcorp/db2_developer_c:11.1.3.3-x86_64
✤ For Domino I use RHEL
✤ There are many CentOS and Debian containers available but those are not supported Domino
platforms
Images & Containers
✤ docker image ls - to show all available images
✤ docker ps —all to show all running and non running containers
✤ docker-machine <command> <machinename> e.g. docker-machine inspect turtle test
✤ docker exec <container name>- run a new process in the named container e.g. bash
Commands For Containers
✤ docker run - lets you start a new container from an image
✤ -d starts in background mode -i starts in interactive mode
✤ https://docs.docker.com/engine/reference/commandline/run/
✤ docker attach - lets you connect to a running container
✤ CTRL P, CTRL Q exists a running container without closing it
✤ CTRL D - exits and closes a container, this isn’t the same as removing it but does lose all your changes
✤ docker logs <containername>
Using Docker For Domino?
✤ Using the image registry.access.redhat.com/rhel7

docker run -t —i -v /Users/GabAir/Downloads/Notesdata:/home -p 1352:1352 -p 80:80 registry.access.redhat.com/rhel7



docker exec -i -t <containername> /bin/bash
✤ docker commit <containername> <newimagename>
✤ Development
✤ Testing
✤ Low priority cluster mate
✤ DR hot swap
✤ Consider disk and storage
Domino On Docker Architecture
Choosing an OS ForYour Container
✤ Domino runs on both Linux and Windows so how do we choose?
✤ the OS kernel is on the host machine so that OS has to be a supported Domino OS
✤ both the image and therefore the container access the host kernel for their core functionality
✤ Windows 2016 and Windows 10 can run Docker CE and EE
✤ Linuxkit can be used to run Linux containers on Windows (dodgy at best)
✤ Windows containers are Windows 2016 core server
✤ Domino on Docker will primarily run on a Linux host with a Linux container
✤ Adding an extra layer of running a Linux container on a Windows docker install impacts performance
Resources
✤ When creating a docker container from an image you do have some control over the resources on the host that it can consume.
This includes
✤ Maximum allowed memory
✤ Allocated CPU % as a total of the host and/or relative to other containers running
✤ This will prevent a container from consuming too much resource
✤ However Domino cares about
✤ disk performance
✤ cpu
✤ memory
✤ designing the correct storage is the most critical aspect of a production container
Container ClusteringWith Domino
✤ Clustering at Container level has to be very carefully designed if you’re deploying Domino containers
✤ Domino won’t like container clustering across identical live Domino servers
✤ Data storage should be outside the container as containers are designed to be temporary and self
destruct on quitting (more on that in a bit)
✤ Having a failover cluster as a Domino container
✤ Having multiple active / passive containers representing the same Domino server
File based storage
for
MailA
Domino Active
Container
MailA
Domino Passive
Container
MailA
Docker Storage
Docker DataVolumes
✤ Shared storage areas that can be used by the containers to access data on the host
or within another container
✤ You don’t create volumes within a container so you create volumes that link to
either data stored in another container or on the host
✤ Volumes defined in an image and deployed as the container creates can only be
applied to that container and are not removed when it is removed
✤ Volumes defined within a container can be accessed by other containers using
the volumes-from option
DataVolume Containers
✤ You are essentially creating containers to be NFS stores
✤ Since they are containers they can be moved to new
locations and the references to them will still work
✤ However if the data container isn’t running the data can’t
be reached
✤ Backing up the data means backing up the container
✤ All containers that mount that volume are reading and
writing to the same space
✤ Be careful not to destroy the data Container
✤ Docker has limited data integrity protection
Directory Mounts
✤ A location on the host machine that is “mapped” to a mount point essentially
in one or multiple containers
✤ It is accessible and exists regardless of whether any containers are running or
using it
✤ It can be backed up as standard data storage
✤ Access is controlled by host file permissions
✤ It can’t be as easily moved to a new location
✤ Be careful of tying yourself in knots with relative references to data volumes
✤ Be VERY careful of launching a container if you don’t know the mount points
that are defined inside it
Directory Mounts vs Docker DataVolumes
✤ A directory mount can be assigned to
multiple containers even after they are
created
✤ A directory mount can point to any part of
the host file system that the account
running the docker container has access to
✤ Directory Mounts have security and data
loss risks that need to be carefully managed
• Data volumes are created when the
container is created and cannot be re-
used directly by other containers
• Docker data volumes are created within
the docker file structure on the host and
are managed (or not managed)
separately from the container
• Deleting a container will not remove the
data volume
Risks
✤ Storage containers can easily be deleted
✤ especially if it’s not clear that another container is using that storage
✤ Directory mounts can be easily overwritten if another container runs with the
same mount points
✤ Deploying new code via a container that retains the storage references from a
previous version will overwrite production storage
✤ Ease of use and flexibility must be tempered with Devops process and planning
Docker Networking
Docker Networking
✤ Docker can create a private network for each container it starts
✤ Containers can be linked together to share the same private network and isolate
themselves from other containers started by the same docker machine
✤ by linking containers you can ensure if they are killed then recreated with the
same name, the network link is maintained
✤ We can also tell the docker server to expose specific ports inside the containers to
external ports that can be reached outside the containers. For instance a port 25
SMTP listener or 443 web server (old school method)
Bridged Driver Networks
✤ Each container is created as part of a
defined bridged network
✤ The bridge networks are private and on
their own subnet
✤ Containers on the same bridge network
can be seen and addressed within their
own private network without routing
traffic through the host
Overlay Driver Networks
✤ Each container is created as part of a
defined overlay network
✤ Overlays are similar to bridge networks
but are designed to work with multi host
networks so containers do not have to be
on the same host to see each other
✤ Docker swarm is used to manage and
route traffic between containers using the
overlay driver
Port Forwarding
✤ When running the containers we
specify both a port to open and how it
is reached from the host machine
✤ This port forwarding can then be used
by other containers to talk to each
other via the host
Macvlan Drivers
✤ Each container is created as part of the
host network
✤ The routing and accessibility is
controlled as if the container were
simply another machine on the host
network
✤ This makes macvlan the most
lightweight of drivers
Summary
✤ Docker is a great architecture for temporary or changing environments such as development
✤ It really does require understanding and a level of comfort with Linux OS
✤ Containers are designed to destroy themselves and their content unless you specify otherwise so in most cases we
want to keep content outside the container
✤ Domino runs well on Docker for Linux but it really isn’t a collection of microservices (yet**) so isn’t taking advantage
of the core architectural benefits of containers
✤ ** hello HCL - one for the wishlist
✤ Domino is very dependent on disk performance and I/O so choosing and optimising the right storage is critical
✤ Deploying docker as production architecture for Domino is not something I’d recommend but for test, development
or small scale failover it is a good solution
Gab Davis
gabriella@turtlepartnership.com
http://turtleblog.info
twitter: gabturtle
skype: gabrielladavis

More Related Content

What's hot

What's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-PremisesWhat's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-Premises
Gabriella Davis
 
An Introduction To Docker
An Introduction To DockerAn Introduction To Docker
An Introduction To Docker
Gabriella Davis
 
Domino Adminblast
Domino AdminblastDomino Adminblast
Domino Adminblast
Gabriella Davis
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
Gabriella Davis
 
How to use the new Domino Query Language
How to use the new Domino Query LanguageHow to use the new Domino Query Language
How to use the new Domino Query Language
Tim Davis
 
HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of Domino
Gabriella Davis
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
Howard Greenberg
 
Fixing Domino Server Sickness
Fixing Domino Server SicknessFixing Domino Server Sickness
Fixing Domino Server Sickness
Gabriella Davis
 
Setting Up a Hybrid Domino Environment to Ease your Way to the Cloud
Setting Up a Hybrid Domino Environment to Ease your Way to the CloudSetting Up a Hybrid Domino Environment to Ease your Way to the Cloud
Setting Up a Hybrid Domino Environment to Ease your Way to the Cloud
Gabriella Davis
 
Adminblast 2013
Adminblast 2013Adminblast 2013
Adminblast 2013
Gabriella Davis
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
Heiko Voigt
 
SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016
David Hablewitz
 
The Sametime Mobile Experience
The Sametime Mobile ExperienceThe Sametime Mobile Experience
The Sametime Mobile Experience
Gabriella Davis
 
Becoming A Connections Administrator
Becoming A Connections AdministratorBecoming A Connections Administrator
Becoming A Connections Administrator
Gabriella Davis
 
Best Practices for Installing IBM Verse on Premises
Best Practices for Installing IBM Verse on PremisesBest Practices for Installing IBM Verse on Premises
Best Practices for Installing IBM Verse on Premises
TimsterC
 
CollabSphere 2018: How to build your SmartCloud Notes hybrid environment
CollabSphere 2018: How to build your SmartCloud Notes hybrid environmentCollabSphere 2018: How to build your SmartCloud Notes hybrid environment
CollabSphere 2018: How to build your SmartCloud Notes hybrid environment
David Hablewitz
 
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
Kenny Buntinx
 
Ms vs ibm_v1.3
Ms vs ibm_v1.3Ms vs ibm_v1.3
Ms vs ibm_v1.3
Andy Higgins
 
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
Howard Greenberg
 
Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07
gameaxt
 

What's hot (20)

What's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-PremisesWhat's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-Premises
 
An Introduction To Docker
An Introduction To DockerAn Introduction To Docker
An Introduction To Docker
 
Domino Adminblast
Domino AdminblastDomino Adminblast
Domino Adminblast
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
 
How to use the new Domino Query Language
How to use the new Domino Query LanguageHow to use the new Domino Query Language
How to use the new Domino Query Language
 
HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of Domino
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
 
Fixing Domino Server Sickness
Fixing Domino Server SicknessFixing Domino Server Sickness
Fixing Domino Server Sickness
 
Setting Up a Hybrid Domino Environment to Ease your Way to the Cloud
Setting Up a Hybrid Domino Environment to Ease your Way to the CloudSetting Up a Hybrid Domino Environment to Ease your Way to the Cloud
Setting Up a Hybrid Domino Environment to Ease your Way to the Cloud
 
Adminblast 2013
Adminblast 2013Adminblast 2013
Adminblast 2013
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
 
SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016
 
The Sametime Mobile Experience
The Sametime Mobile ExperienceThe Sametime Mobile Experience
The Sametime Mobile Experience
 
Becoming A Connections Administrator
Becoming A Connections AdministratorBecoming A Connections Administrator
Becoming A Connections Administrator
 
Best Practices for Installing IBM Verse on Premises
Best Practices for Installing IBM Verse on PremisesBest Practices for Installing IBM Verse on Premises
Best Practices for Installing IBM Verse on Premises
 
CollabSphere 2018: How to build your SmartCloud Notes hybrid environment
CollabSphere 2018: How to build your SmartCloud Notes hybrid environmentCollabSphere 2018: How to build your SmartCloud Notes hybrid environment
CollabSphere 2018: How to build your SmartCloud Notes hybrid environment
 
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with DockerSCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
SCUGBE_Lowlands_Unite_2017_Managing Windows Containers with Docker
 
Ms vs ibm_v1.3
Ms vs ibm_v1.3Ms vs ibm_v1.3
Ms vs ibm_v1.3
 
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
 
Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07
 

Similar to An Introduction to Configuring Domino for Docker

Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
zekeLabs Technologies
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
Anvay Patil
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
Naukri.com
 
Docker Introduction SDP 12-2015
Docker  Introduction  SDP 12-2015Docker  Introduction  SDP 12-2015
Docker Introduction SDP 12-2015
Rotem Or
 
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
Van Phuc
 
Containerization Report
Containerization ReportContainerization Report
Containerization Report
Jatin Chauhan
 
Docker and-daily-devops
Docker and-daily-devopsDocker and-daily-devops
Docker and-daily-devops
Satria Ady Pradana
 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
Satria Ady Pradana
 
Domino on docker version 2
Domino on docker version 2Domino on docker version 2
Domino on docker version 2
Slobodan Lohja
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
JasonStraughan1
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
Sujay Pillai
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
zekeLabs Technologies
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
Chris Taylor
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
BADR
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
Amr Fawzy
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
Dr Ganesh Iyer
 

Similar to An Introduction to Configuring Domino for Docker (20)

Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
Docker Introduction SDP 12-2015
Docker  Introduction  SDP 12-2015Docker  Introduction  SDP 12-2015
Docker Introduction SDP 12-2015
 
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
 
Containerization Report
Containerization ReportContainerization Report
Containerization Report
 
Docker and-daily-devops
Docker and-daily-devopsDocker and-daily-devops
Docker and-daily-devops
 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
 
Domino on docker version 2
Domino on docker version 2Domino on docker version 2
Domino on docker version 2
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 

More from Gabriella Davis

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
 
Engage2022 - Domino Admin Tips
Engage2022 - Domino Admin TipsEngage2022 - Domino Admin Tips
Engage2022 - Domino Admin Tips
Gabriella Davis
 
. Design Decisions: Developing for Mobile - The Template Experience Project
. Design Decisions: Developing for Mobile - The Template Experience Project. Design Decisions: Developing for Mobile - The Template Experience Project
. Design Decisions: Developing for Mobile - The Template Experience Project
Gabriella Davis
 
An Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation RequirementsAn Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation Requirements
Gabriella Davis
 
How To Approach GDPR Preparation & Discovery
How To Approach GDPR Preparation & DiscoveryHow To Approach GDPR Preparation & Discovery
How To Approach GDPR Preparation & Discovery
Gabriella Davis
 
An Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation RequirementsAn Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation Requirements
Gabriella Davis
 
Brand Yourself
Brand YourselfBrand Yourself
Brand Yourself
Gabriella Davis
 
Home Working
Home WorkingHome Working
Home Working
Gabriella Davis
 
A Guide To Single Sign-On for IBM Collaboration Solutions
A Guide To Single Sign-On for IBM Collaboration SolutionsA Guide To Single Sign-On for IBM Collaboration Solutions
A Guide To Single Sign-On for IBM Collaboration Solutions
Gabriella Davis
 
The Imposter Syndrome
The Imposter SyndromeThe Imposter Syndrome
The Imposter Syndrome
Gabriella Davis
 
Embracing iot in the enterprise
Embracing iot in the enterpriseEmbracing iot in the enterprise
Embracing iot in the enterprise
Gabriella Davis
 
Benefits and Risks of a Single Identity - IBM Connect 2017
Benefits and Risks of a Single Identity - IBM Connect 2017Benefits and Risks of a Single Identity - IBM Connect 2017
Benefits and Risks of a Single Identity - IBM Connect 2017
Gabriella Davis
 
Domino in the Back, Party In The Front
Domino in the Back, Party In The FrontDomino in the Back, Party In The Front
Domino in the Back, Party In The Front
Gabriella Davis
 
Penumbra briefing
Penumbra briefingPenumbra briefing
Penumbra briefing
Gabriella Davis
 
The SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 CertificatesThe SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 Certificates
Gabriella Davis
 
IBM Traveler Management, Security and Performance
IBM Traveler Management, Security and PerformanceIBM Traveler Management, Security and Performance
IBM Traveler Management, Security and Performance
Gabriella Davis
 
Working With Sametime For Mobile Devices
Working With Sametime For Mobile DevicesWorking With Sametime For Mobile Devices
Working With Sametime For Mobile Devices
Gabriella Davis
 
Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1
Gabriella Davis
 

More from Gabriella Davis (18)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Engage2022 - Domino Admin Tips
Engage2022 - Domino Admin TipsEngage2022 - Domino Admin Tips
Engage2022 - Domino Admin Tips
 
. Design Decisions: Developing for Mobile - The Template Experience Project
. Design Decisions: Developing for Mobile - The Template Experience Project. Design Decisions: Developing for Mobile - The Template Experience Project
. Design Decisions: Developing for Mobile - The Template Experience Project
 
An Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation RequirementsAn Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation Requirements
 
How To Approach GDPR Preparation & Discovery
How To Approach GDPR Preparation & DiscoveryHow To Approach GDPR Preparation & Discovery
How To Approach GDPR Preparation & Discovery
 
An Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation RequirementsAn Introduction To The DMARC SMTP Validation Requirements
An Introduction To The DMARC SMTP Validation Requirements
 
Brand Yourself
Brand YourselfBrand Yourself
Brand Yourself
 
Home Working
Home WorkingHome Working
Home Working
 
A Guide To Single Sign-On for IBM Collaboration Solutions
A Guide To Single Sign-On for IBM Collaboration SolutionsA Guide To Single Sign-On for IBM Collaboration Solutions
A Guide To Single Sign-On for IBM Collaboration Solutions
 
The Imposter Syndrome
The Imposter SyndromeThe Imposter Syndrome
The Imposter Syndrome
 
Embracing iot in the enterprise
Embracing iot in the enterpriseEmbracing iot in the enterprise
Embracing iot in the enterprise
 
Benefits and Risks of a Single Identity - IBM Connect 2017
Benefits and Risks of a Single Identity - IBM Connect 2017Benefits and Risks of a Single Identity - IBM Connect 2017
Benefits and Risks of a Single Identity - IBM Connect 2017
 
Domino in the Back, Party In The Front
Domino in the Back, Party In The FrontDomino in the Back, Party In The Front
Domino in the Back, Party In The Front
 
Penumbra briefing
Penumbra briefingPenumbra briefing
Penumbra briefing
 
The SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 CertificatesThe SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 Certificates
 
IBM Traveler Management, Security and Performance
IBM Traveler Management, Security and PerformanceIBM Traveler Management, Security and Performance
IBM Traveler Management, Security and Performance
 
Working With Sametime For Mobile Devices
Working With Sametime For Mobile DevicesWorking With Sametime For Mobile Devices
Working With Sametime For Mobile Devices
 
Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1
 

Recently uploaded

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
anfaltahir1010
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabhQuarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
aisafed42
 

Recently uploaded (20)

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabhQuarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
 

An Introduction to Configuring Domino for Docker

  • 1. July 2018 An IntroductionTo Configuring Domino for Docker Gabriella Davis - IBM Lifetime Champion for Social Business gabriella@turtlepartnership.com
  • 3. Gab Davis ✤ Admin of all things and especially quite complicated things where the fun is ✤ Working with the design, deployment and security of IBM technologies within global infrastructures ✤ working with the real world security and privacy aspects of expanding data ecosystems ✤ Stubborn and relentless problem solver ✤ http://turtleblog.infohttps://www.turtlepartnership.com ✤ IBM Lifetime Champion
  • 5. DevOps ✤ DevOps or Developer Operations refers to the collaboration of software development and developers with IT operations ✤ it refers to practices, processes and communication not specific technologies ✤ good DevOps practices are designed around rapid, consistent and reliable systems ✤ The goal of DevOps is to ensure the seamless delivery and maintenance of applications
  • 6. Microservices ✤ Applications were traditionally developed in entirety with every function of the application grouped together and operating in concert ✤ for that reason applications can often be large, over developed and hard to update ✤ a change to a single function has to be incorporated into the entire application without any impact ✤ Microservices architecture refers to applications that are developed as separate functional or core services each operating in their own isolated container but able to talk to each other ✤ updates are simpler and minimising the overall application size is easier by deploying just those micro services that are needed ✤ Domino Tasks = Microservices ?
  • 7. Virtualisation ✤ Isolating applications running on a single physical server ✤ Virtualisation allows us to use software to mimic physical hardware ✤ Using virtual machines we can more easily create new server instances and scale them ✤ This saves both time and cost ✤ The use of virtual machines and virtual environments has grown exponentially in the past decade
  • 8. Virtual Machine vs Container With little OS of their own, containers are more lightweight and allow the host OS and hardware to be utilised more efficiently Virtual Machines
  • 9. Virtual Machine vs Container With little OS of their own, containers are more lightweight and allow the host OS and hardware to be utilised more efficiently Virtual Machines Containers
  • 10. Virtual Machine or Container? It’s not an either / or - both architectures have their benefits and drawbacks Virtual Machine Container More isolated and more secure Portable, simple to move between hosts or deploy from development directly to production Can run different operating systems in each virtual machine and not be tied to the host OS Fast to start up with no OS overhead Able to granularly scale use of resources Able to make more efficient use of host resources More work to set up and manage Collectively dependent upon and all using the same host OS Each VM must have enough resources assigned to also run the VMs OS Potential for security vulnerability via a “bleed” from the container to the OS and the process that started it
  • 11. Containers Offer.. ✤ Self-contained sandbox environments that host applications including micro services ✤ Containers do not have an entire OS installed inside them the way virtual servers do but instead share the OS of the host machine ✤ Multiple containers can share the OS of a host machine with their own isolated application and file system ✤ Container architecture is designed to be portable and simple to update / maintain ✤ A container would usually contain a single service so that maximum benefit can be leveraged from the portability ✤ one service or application to one container ✤ each application environment is not dependent on the other
  • 12. Docker ✤ Docker is an open source container based virtualisation solution ✤ There is both a “Docker” client and a “Docker” server ✤ Docker is not the only container environment, there are others such as rkt (Rocket) but IBM are using Docker for Connections Pink and it’s supported in a wide variety of hosting environments including AWS, Azure and Rackspace ✤ Docker can be quickly installed on Linux, Windows and Mac
  • 13. Kubernetes and Docker Swarm ✤ Containers must be deployed and managed ✤ management tools aren’t easy ✤ Containers can also be clustered and load managed by a cluster manager ✤ Docker Swarm is a native cluster manager using the Docker API so it requires Docker containers ✤ Kubernetes evolved out of Google’s expertise and was far ahead of Docker Swarm for many years but no longer ✤ There are many tools out there to help cluster and manage Docker containers ✤ If you are going to have exclusively docker containers than Docker Swarm may be a better approach than Kubernetes ✤ Clustering at Container level has to be very carefully considered with Domino containers
  • 15. Devops and Containers ✤ Developers love containers ✤ They make it easy to isolate microservices and swap out updated code ✤ However that ease comes with risk ✤ each container is drawing resources from the same host ✤ each container has separately mounted storage and often nested dependencies ✤ spawning a new container from an image will not deploy changes made inside an existing spawned container ✤ Process is everything ✤ Process is Operations and Development working together
  • 16. Mac docker install supports Linux containers Windows docker install supports Windows 2016 server core containers and Linux (kind of)| using Linuxkit (don’t do it!)
  • 17. Images and Containers ✤ You don’t run the image itself but use the Docker server to spawn a container based upon that image ✤ You can spawn as many containers as you want using the same image on the same host ✤ Each time a new container starts it is given a name, an ID and a tag ✤ Changes made inside the container are not saved when you quit it unless you commit those changes back to a new image ✤ Starting a container from an image also includes mounting storage ✤ So is having a re-usable Domino image useful? IMAGE CONTAINER ID TAG Running Process NEW IMAGE docker run spawns a container instance based on an image docker commit creates a new image based on a container Name
  • 18. Commands For Reviewing Containers ✤ Once docker CE or EE is installed and active the command “docker” will work in a command window ✤ docker images - shows all existing images in the registry ✤ docker ps - shows all existing containers
  • 19. Docker Pull Images ✤ the Docker Store (store.docker.com) has hundreds of containers that you can use ✤ docker pull microsoft/windowsservercore (the windows 2016 server core container) ✤ docker pull registry.access.redhat.com/rhel7 (rhel 7) ✤ docker pull mongo ✤ docker pull store/ibmcorp/db2_developer_c:11.1.3.3-x86_64 ✤ For Domino I use RHEL ✤ There are many CentOS and Debian containers available but those are not supported Domino platforms
  • 20. Images & Containers ✤ docker image ls - to show all available images ✤ docker ps —all to show all running and non running containers ✤ docker-machine <command> <machinename> e.g. docker-machine inspect turtle test ✤ docker exec <container name>- run a new process in the named container e.g. bash
  • 21. Commands For Containers ✤ docker run - lets you start a new container from an image ✤ -d starts in background mode -i starts in interactive mode ✤ https://docs.docker.com/engine/reference/commandline/run/ ✤ docker attach - lets you connect to a running container ✤ CTRL P, CTRL Q exists a running container without closing it ✤ CTRL D - exits and closes a container, this isn’t the same as removing it but does lose all your changes ✤ docker logs <containername>
  • 22.
  • 23. Using Docker For Domino? ✤ Using the image registry.access.redhat.com/rhel7
 docker run -t —i -v /Users/GabAir/Downloads/Notesdata:/home -p 1352:1352 -p 80:80 registry.access.redhat.com/rhel7
 
 docker exec -i -t <containername> /bin/bash ✤ docker commit <containername> <newimagename> ✤ Development ✤ Testing ✤ Low priority cluster mate ✤ DR hot swap ✤ Consider disk and storage
  • 24. Domino On Docker Architecture
  • 25. Choosing an OS ForYour Container ✤ Domino runs on both Linux and Windows so how do we choose? ✤ the OS kernel is on the host machine so that OS has to be a supported Domino OS ✤ both the image and therefore the container access the host kernel for their core functionality ✤ Windows 2016 and Windows 10 can run Docker CE and EE ✤ Linuxkit can be used to run Linux containers on Windows (dodgy at best) ✤ Windows containers are Windows 2016 core server ✤ Domino on Docker will primarily run on a Linux host with a Linux container ✤ Adding an extra layer of running a Linux container on a Windows docker install impacts performance
  • 26. Resources ✤ When creating a docker container from an image you do have some control over the resources on the host that it can consume. This includes ✤ Maximum allowed memory ✤ Allocated CPU % as a total of the host and/or relative to other containers running ✤ This will prevent a container from consuming too much resource ✤ However Domino cares about ✤ disk performance ✤ cpu ✤ memory ✤ designing the correct storage is the most critical aspect of a production container
  • 27. Container ClusteringWith Domino ✤ Clustering at Container level has to be very carefully designed if you’re deploying Domino containers ✤ Domino won’t like container clustering across identical live Domino servers ✤ Data storage should be outside the container as containers are designed to be temporary and self destruct on quitting (more on that in a bit) ✤ Having a failover cluster as a Domino container ✤ Having multiple active / passive containers representing the same Domino server File based storage for MailA Domino Active Container MailA Domino Passive Container MailA
  • 29. Docker DataVolumes ✤ Shared storage areas that can be used by the containers to access data on the host or within another container ✤ You don’t create volumes within a container so you create volumes that link to either data stored in another container or on the host ✤ Volumes defined in an image and deployed as the container creates can only be applied to that container and are not removed when it is removed ✤ Volumes defined within a container can be accessed by other containers using the volumes-from option
  • 30. DataVolume Containers ✤ You are essentially creating containers to be NFS stores ✤ Since they are containers they can be moved to new locations and the references to them will still work ✤ However if the data container isn’t running the data can’t be reached ✤ Backing up the data means backing up the container ✤ All containers that mount that volume are reading and writing to the same space ✤ Be careful not to destroy the data Container ✤ Docker has limited data integrity protection
  • 31. Directory Mounts ✤ A location on the host machine that is “mapped” to a mount point essentially in one or multiple containers ✤ It is accessible and exists regardless of whether any containers are running or using it ✤ It can be backed up as standard data storage ✤ Access is controlled by host file permissions ✤ It can’t be as easily moved to a new location ✤ Be careful of tying yourself in knots with relative references to data volumes ✤ Be VERY careful of launching a container if you don’t know the mount points that are defined inside it
  • 32. Directory Mounts vs Docker DataVolumes ✤ A directory mount can be assigned to multiple containers even after they are created ✤ A directory mount can point to any part of the host file system that the account running the docker container has access to ✤ Directory Mounts have security and data loss risks that need to be carefully managed • Data volumes are created when the container is created and cannot be re- used directly by other containers • Docker data volumes are created within the docker file structure on the host and are managed (or not managed) separately from the container • Deleting a container will not remove the data volume
  • 33. Risks ✤ Storage containers can easily be deleted ✤ especially if it’s not clear that another container is using that storage ✤ Directory mounts can be easily overwritten if another container runs with the same mount points ✤ Deploying new code via a container that retains the storage references from a previous version will overwrite production storage ✤ Ease of use and flexibility must be tempered with Devops process and planning
  • 35. Docker Networking ✤ Docker can create a private network for each container it starts ✤ Containers can be linked together to share the same private network and isolate themselves from other containers started by the same docker machine ✤ by linking containers you can ensure if they are killed then recreated with the same name, the network link is maintained ✤ We can also tell the docker server to expose specific ports inside the containers to external ports that can be reached outside the containers. For instance a port 25 SMTP listener or 443 web server (old school method)
  • 36. Bridged Driver Networks ✤ Each container is created as part of a defined bridged network ✤ The bridge networks are private and on their own subnet ✤ Containers on the same bridge network can be seen and addressed within their own private network without routing traffic through the host
  • 37. Overlay Driver Networks ✤ Each container is created as part of a defined overlay network ✤ Overlays are similar to bridge networks but are designed to work with multi host networks so containers do not have to be on the same host to see each other ✤ Docker swarm is used to manage and route traffic between containers using the overlay driver
  • 38. Port Forwarding ✤ When running the containers we specify both a port to open and how it is reached from the host machine ✤ This port forwarding can then be used by other containers to talk to each other via the host
  • 39. Macvlan Drivers ✤ Each container is created as part of the host network ✤ The routing and accessibility is controlled as if the container were simply another machine on the host network ✤ This makes macvlan the most lightweight of drivers
  • 40. Summary ✤ Docker is a great architecture for temporary or changing environments such as development ✤ It really does require understanding and a level of comfort with Linux OS ✤ Containers are designed to destroy themselves and their content unless you specify otherwise so in most cases we want to keep content outside the container ✤ Domino runs well on Docker for Linux but it really isn’t a collection of microservices (yet**) so isn’t taking advantage of the core architectural benefits of containers ✤ ** hello HCL - one for the wishlist ✤ Domino is very dependent on disk performance and I/O so choosing and optimising the right storage is critical ✤ Deploying docker as production architecture for Domino is not something I’d recommend but for test, development or small scale failover it is a good solution