SlideShare une entreprise Scribd logo
1  sur  17
Domino on Docker
CUSTOMER EXPERIENCE
Domino on Docker
Slobodan Lohja
Software Engineer
Canal Barge Company
Over 18 years in software
engineering
website: uxdesign.xpagesbeast.com
LinkedIn:
linkedin.com/in/slobodanlohja/
Twitter: @xpagesbeast
Lokesh Venkatesan
DevOps Engineer
Royal Cyber
Over 8 years in software
engineering
LinkedIn:
linkedin.com/in/lokeshm89/
Twitter: @lokeshm1989
Tom Hillebrand
Domino SME
SurfDomino
Over 24 years in software engineering
website: surfdomino.com
LinkedIn:
linkedin.com/in/tomhillebrand/
Twitter: @tchildy
What is Docker?
A technology that isolates
applications in memory on
a single host machine
where VMs duplicate the
host.
Where is VM in all of this?
VM is about the box, when
you need more space and
need to scale boxes.
https://learning-continuous-deployment.github.io/docker/conclusion/2015/06/14/conclusion/
History of Containers
2004 Oracle released a Solaris Container that combines system resource oracle history of
containerscontrols and boundary separation provided by zones, which were able to leverage features like
snapshots and cloning from ZFS.
2008 LXC (LinuX Containers) was the first, most complete implementation of Linux container manager. It
was implemented in 2008 using cgroups and Linux namespaces, and it works on a single Linux kernel
without requiring any patches.
2011: CloudFoundry started Warden in 2011, using LXC.
2013: Docker. Docker separated itself from the pack by offering an entire ecosystem for container
management.
2017: Kubernetes Orchestration proved itself (Google). Docker, IBM, AWS, Azure all support Kubernetes.
This field is continuing to evolve by the open source community
https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016
Docker Comparison with traditional VM
CONTAINER TECHNOLOGY
Concern is about the application not the O/S
Single host can run many applications
efficiently. Each applications ‘thinks’ they are
a single computer.
Quick to stand up a machine (minutes)
Easily switch hosting providers
VIRTUAL MACHINE TECHNOLOGY
Its about the server O/S and application
Less efficient (better than bare metal). A
computer, hard drive, memory all have to be
allocated for every VM even if the application
installed on it does not use all resources.
Takes longer to build a VM if you have the
room (hours, could be days)
* With Kubernetes to orchestrate containers, we will see IP addressing and load balancing
automated, like a plug and play network infrastructure.
Docker can stand up an entire solution
The host machine can be a vanilla Linux server with no JVM for example.
Install Docker, and script the stand up of many application servers.
Install Docker and start Domino:
$ docker pull lokeshm89/domino9.0.1
Install NGINX
◦ $ docker pull nginx
Scripts can install git, and you can script pulling applications from a repository.
XPages Apps on Domino Docker
XPages application shares same
NSF with data storage.
Turn on Domino Data Access
Services other tech uses Domino
NoSQL
Easy to get to, similar to on prem
iOS / Android Native
Apps
Docker Container – NoSQL Storage & UI
NSF NoSQL
Storage
(DominoDataAccess)
RESTAPI
XPages
XPages Apps on Domino Docker
Separate UI and NSF
Turn on Domino Data Access Services
other tech uses Domino NoSQL
Also easy, XPages UI and data
storage in different NSF files.
iOS / Android Native
Apps
Docker Container
NSF 2
NoSQLStorage
(DominoDataAccess)
RESTAPI
Xpages (NSF 1)
XPages Apps on Domino Docker
Use Domino Data Access Services to
expose to other technologies
Run UI in its own container and scale it
without causing issues with data
persistence.
NGINX Proxy to provide https
Difficult: Were we want to be
iOS / Android Native
Apps
Docker Container – NoSQL Storage
NSF NoSQL
Storage
(DominoDataAccess)
RESTAPI
Docker Container 1
XPages
Docker Container xx
XPages
<< Scale Horizontally>>
Domino SDK or REST API
Domino On Docker- where we started
First was to follow the great details presented by ekori.de
https://www.eknori.de/2017-08-20/domino-on-docker/
Vitalii Sharavara:
http://sharavara.com/2016/10/ibm-domino-in-docker-en/
Both of these folks assumed I wanted to launch a Container and leave it in a state where the
Domino server was listening for my “Remote Server Setup” client expecting I would then
manually configure the Domino server.
This isn’t what I wanted to do.
Domino On Docker
Used a Linux OS, CentOS 7.x, tiny footprint
Domino 9.0.1 FeaturePack 9 (also FP10)
Daniel Nashed Domino scripts for launching Domino
Linux is an excellent OS for a Domino server. Learn it!!!
It’s amazing to me how fast a Docker container launches
Need to mount a static volume to your container
Open port 1392 on your firewall
Domino On Docker – Use Case Testing
This approach is great if…
You want to build a server quickly with any version of Domino
You can make many Docker files that piece together the Domino Releases and Feature Packs you
want to test
You can then move the application you want to test to a container that has the specific version
of Domino you want to test your app on
Issues I ran into:
The network would not allow my Remote Server Setup client to connect to the container that
was waiting in listener mode
Domino on Docker- Use Case Production
We want to use Docker containers for production apps
We need a way to launch the container and just run without additional configuration -
Automation
We want multiple containers running with the same app to scale.
We want Docker to restart the application if the app crashes.
Domino on Docker- Use Case Production
In my Domino Directory:
Register a Domino server ID
Configure Connection docs and Internet Site docs in my directory for the server (and any others
you might need)
Pre-load the static volume with:
The Domino server ID for that server
a Notes.ini file I created that points to the correct ID file and contains the correct server name
information
Domino on Docker- Use Case Production
When the Container launches, I have a connection document in our directory to make sure it
replicates at startup so it can pull an updated directory and changes to the apps.
We can setup multiple static volumes. Each volume is for a specific Domino server. So when we
launch a container the volume we map to will be the Domino server.
We need to make sure we don’t launch more than one container against the same static volume.
Domino on Docker-Production
Other thoughts I need to test and figure out:
Configure the Docker file and notes.ini to put view rebuilds in a directory that is not in the static
volume (no need to save those)
Use the Domino start scripts to compact system dbs. We also don’t want the replicas to get out of
date
Is there another way to run Domino in a container instead of making many server ID’s and internet
site docs for each server?
IBM recommendations for Domino 9.0.1FP10 on Docker
http://www-01.ibm.com/support/docview.wss?uid=swg22013200
In CentOS when launching a container instead of “docker run –d” you must use “docker run –t –d”
When the Domino Service stops so does the container, but for testing you can get it to stay running by
launching into a bash shell instead.
IBM Cloud (Bluemix)
LOKESH WILL DEMO DOMINO RUNNING IN A DOCKER CONTAINER IN
IBM CLOUD

Contenu connexe

Tendances

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!
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Simplilearn
 
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
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet 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 TechnologyAjeet Singh Raina
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Edureka!
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerAjeet Singh Raina
 
Docker for developers
Docker for developersDocker for developers
Docker for developersandrzejsydor
 
Optimizing Docker Images
Optimizing Docker ImagesOptimizing Docker Images
Optimizing Docker ImagesBrian DeHamer
 
Docker introduction
Docker introductionDocker introduction
Docker introductionGourav Varma
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersYajushi Srivastava
 
Docker introduction
Docker introductionDocker introduction
Docker introductionPhuc Nguyen
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochranedotCloud
 

Tendances (20)

Docker for .net developer
Docker for .net developerDocker for .net developer
Docker for .net developer
 
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...
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
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
 
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 Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
A Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Optimizing Docker Images
Optimizing Docker ImagesOptimizing Docker Images
Optimizing Docker Images
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
 

Similaire à Domino on docker version 1

Domino on docker version 2
Domino on docker version 2Domino on docker version 2
Domino on docker version 2Slobodan Lohja
 
Docker Introduction SDP 12-2015
Docker  Introduction  SDP 12-2015Docker  Introduction  SDP 12-2015
Docker Introduction SDP 12-2015Rotem Or
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 
Docker_Interview_Questions__Answers.pdf
Docker_Interview_Questions__Answers.pdfDocker_Interview_Questions__Answers.pdf
Docker_Interview_Questions__Answers.pdfRifqiMultazamOfficia
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersQuan Truong Anh
 
Adventures in docker compose
Adventures in docker composeAdventures in docker compose
Adventures in docker composeLinkMe Srl
 
Container on azure
Container on azureContainer on azure
Container on azureVishwas N
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentalsAlper Unal
 
Introduction to Dockers and containers
Introduction to Dockers and containers Introduction to Dockers and containers
Introduction to Dockers and containers Sri Padaraj M S
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWSAndrew Heifetz
 
Docker interview Questions-2.pdf
Docker interview Questions-2.pdfDocker interview Questions-2.pdf
Docker interview Questions-2.pdfYogeshwaran R
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )Imo Inyang
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 

Similaire à Domino on docker version 1 (20)

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
 
Docker Introduction SDP 12-2015
Docker  Introduction  SDP 12-2015Docker  Introduction  SDP 12-2015
Docker Introduction SDP 12-2015
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
 
Docker_Interview_Questions__Answers.pdf
Docker_Interview_Questions__Answers.pdfDocker_Interview_Questions__Answers.pdf
Docker_Interview_Questions__Answers.pdf
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Adventures in docker compose
Adventures in docker composeAdventures in docker compose
Adventures in docker compose
 
Container on azure
Container on azureContainer on azure
Container on azure
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Docker workshop GDSC_CSSC
Docker workshop GDSC_CSSCDocker workshop GDSC_CSSC
Docker workshop GDSC_CSSC
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Introduction to Dockers and containers
Introduction to Dockers and containers Introduction to Dockers and containers
Introduction to Dockers and containers
 
Continuous Integration with Docker on AWS
Continuous Integration with Docker on AWSContinuous Integration with Docker on AWS
Continuous Integration with Docker on AWS
 
Docker interview Questions-2.pdf
Docker interview Questions-2.pdfDocker interview Questions-2.pdf
Docker interview Questions-2.pdf
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 

Plus de Slobodan Lohja

Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Slobodan Lohja
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Slobodan Lohja
 
JSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPagesJSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPagesSlobodan Lohja
 
How to adopt team development and source control rev2
How to adopt team development and source control rev2How to adopt team development and source control rev2
How to adopt team development and source control rev2Slobodan Lohja
 
Git for IBM Notes Designer
Git for IBM Notes DesignerGit for IBM Notes Designer
Git for IBM Notes DesignerSlobodan Lohja
 

Plus de Slobodan Lohja (6)

Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021
 
Automated ui-testing
Automated ui-testingAutomated ui-testing
Automated ui-testing
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)
 
JSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPagesJSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPages
 
How to adopt team development and source control rev2
How to adopt team development and source control rev2How to adopt team development and source control rev2
How to adopt team development and source control rev2
 
Git for IBM Notes Designer
Git for IBM Notes DesignerGit for IBM Notes Designer
Git for IBM Notes Designer
 

Dernier

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 

Dernier (20)

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 

Domino on docker version 1

  • 2. Domino on Docker Slobodan Lohja Software Engineer Canal Barge Company Over 18 years in software engineering website: uxdesign.xpagesbeast.com LinkedIn: linkedin.com/in/slobodanlohja/ Twitter: @xpagesbeast Lokesh Venkatesan DevOps Engineer Royal Cyber Over 8 years in software engineering LinkedIn: linkedin.com/in/lokeshm89/ Twitter: @lokeshm1989 Tom Hillebrand Domino SME SurfDomino Over 24 years in software engineering website: surfdomino.com LinkedIn: linkedin.com/in/tomhillebrand/ Twitter: @tchildy
  • 3. What is Docker? A technology that isolates applications in memory on a single host machine where VMs duplicate the host. Where is VM in all of this? VM is about the box, when you need more space and need to scale boxes. https://learning-continuous-deployment.github.io/docker/conclusion/2015/06/14/conclusion/
  • 4. History of Containers 2004 Oracle released a Solaris Container that combines system resource oracle history of containerscontrols and boundary separation provided by zones, which were able to leverage features like snapshots and cloning from ZFS. 2008 LXC (LinuX Containers) was the first, most complete implementation of Linux container manager. It was implemented in 2008 using cgroups and Linux namespaces, and it works on a single Linux kernel without requiring any patches. 2011: CloudFoundry started Warden in 2011, using LXC. 2013: Docker. Docker separated itself from the pack by offering an entire ecosystem for container management. 2017: Kubernetes Orchestration proved itself (Google). Docker, IBM, AWS, Azure all support Kubernetes. This field is continuing to evolve by the open source community https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016
  • 5. Docker Comparison with traditional VM CONTAINER TECHNOLOGY Concern is about the application not the O/S Single host can run many applications efficiently. Each applications ‘thinks’ they are a single computer. Quick to stand up a machine (minutes) Easily switch hosting providers VIRTUAL MACHINE TECHNOLOGY Its about the server O/S and application Less efficient (better than bare metal). A computer, hard drive, memory all have to be allocated for every VM even if the application installed on it does not use all resources. Takes longer to build a VM if you have the room (hours, could be days) * With Kubernetes to orchestrate containers, we will see IP addressing and load balancing automated, like a plug and play network infrastructure.
  • 6. Docker can stand up an entire solution The host machine can be a vanilla Linux server with no JVM for example. Install Docker, and script the stand up of many application servers. Install Docker and start Domino: $ docker pull lokeshm89/domino9.0.1 Install NGINX ◦ $ docker pull nginx Scripts can install git, and you can script pulling applications from a repository.
  • 7. XPages Apps on Domino Docker XPages application shares same NSF with data storage. Turn on Domino Data Access Services other tech uses Domino NoSQL Easy to get to, similar to on prem iOS / Android Native Apps Docker Container – NoSQL Storage & UI NSF NoSQL Storage (DominoDataAccess) RESTAPI XPages
  • 8. XPages Apps on Domino Docker Separate UI and NSF Turn on Domino Data Access Services other tech uses Domino NoSQL Also easy, XPages UI and data storage in different NSF files. iOS / Android Native Apps Docker Container NSF 2 NoSQLStorage (DominoDataAccess) RESTAPI Xpages (NSF 1)
  • 9. XPages Apps on Domino Docker Use Domino Data Access Services to expose to other technologies Run UI in its own container and scale it without causing issues with data persistence. NGINX Proxy to provide https Difficult: Were we want to be iOS / Android Native Apps Docker Container – NoSQL Storage NSF NoSQL Storage (DominoDataAccess) RESTAPI Docker Container 1 XPages Docker Container xx XPages << Scale Horizontally>> Domino SDK or REST API
  • 10. Domino On Docker- where we started First was to follow the great details presented by ekori.de https://www.eknori.de/2017-08-20/domino-on-docker/ Vitalii Sharavara: http://sharavara.com/2016/10/ibm-domino-in-docker-en/ Both of these folks assumed I wanted to launch a Container and leave it in a state where the Domino server was listening for my “Remote Server Setup” client expecting I would then manually configure the Domino server. This isn’t what I wanted to do.
  • 11. Domino On Docker Used a Linux OS, CentOS 7.x, tiny footprint Domino 9.0.1 FeaturePack 9 (also FP10) Daniel Nashed Domino scripts for launching Domino Linux is an excellent OS for a Domino server. Learn it!!! It’s amazing to me how fast a Docker container launches Need to mount a static volume to your container Open port 1392 on your firewall
  • 12. Domino On Docker – Use Case Testing This approach is great if… You want to build a server quickly with any version of Domino You can make many Docker files that piece together the Domino Releases and Feature Packs you want to test You can then move the application you want to test to a container that has the specific version of Domino you want to test your app on Issues I ran into: The network would not allow my Remote Server Setup client to connect to the container that was waiting in listener mode
  • 13. Domino on Docker- Use Case Production We want to use Docker containers for production apps We need a way to launch the container and just run without additional configuration - Automation We want multiple containers running with the same app to scale. We want Docker to restart the application if the app crashes.
  • 14. Domino on Docker- Use Case Production In my Domino Directory: Register a Domino server ID Configure Connection docs and Internet Site docs in my directory for the server (and any others you might need) Pre-load the static volume with: The Domino server ID for that server a Notes.ini file I created that points to the correct ID file and contains the correct server name information
  • 15. Domino on Docker- Use Case Production When the Container launches, I have a connection document in our directory to make sure it replicates at startup so it can pull an updated directory and changes to the apps. We can setup multiple static volumes. Each volume is for a specific Domino server. So when we launch a container the volume we map to will be the Domino server. We need to make sure we don’t launch more than one container against the same static volume.
  • 16. Domino on Docker-Production Other thoughts I need to test and figure out: Configure the Docker file and notes.ini to put view rebuilds in a directory that is not in the static volume (no need to save those) Use the Domino start scripts to compact system dbs. We also don’t want the replicas to get out of date Is there another way to run Domino in a container instead of making many server ID’s and internet site docs for each server? IBM recommendations for Domino 9.0.1FP10 on Docker http://www-01.ibm.com/support/docview.wss?uid=swg22013200 In CentOS when launching a container instead of “docker run –d” you must use “docker run –t –d” When the Domino Service stops so does the container, but for testing you can get it to stay running by launching into a bash shell instead.
  • 17. IBM Cloud (Bluemix) LOKESH WILL DEMO DOMINO RUNNING IN A DOCKER CONTAINER IN IBM CLOUD