SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
WebSphere and Docker
THE NEXT CHAPTER(S)
David Currie | david_currie@uk.ibm.com | @dcurrie
Kavitha Suresh Kumar | kavisuresh@in.ibm.com | @kavi2002suresh
Contents
• Chapter 1: The Story So Far
• Chapter 2: Liberty Image Evolves
• Chapter 3: WAS traditional
• Chapter 4: Developer Experience
• Chapter 5: Container Platforms
• Chapter 6: Liberty Collectives
The Story So Far
CHAPTER ONE
January 2015
WebSphere Application Server 8.5.5.5
onwards (Liberty and traditional)
supported running under Docker
“
”March 2015
Dockerfile
FROM websphere-liberty
COPY wlp*license-8.5.5.*.jar /tmp/
RUN java -jar /tmp/wlp*license-8.5.5.*.jar --acceptLicense /opt/ibm
&& rm /tmp/wlp*license-8.5.5.*.jar
kernel common webProfile7 javaee7
webProfile6beta
June 2015
Dockerfile
FROM websphere-liberty:kernel
COPY server.xml /opt/ibm/wlp/usr/servers/defaultServer/
RUN installUtility install --acceptLicense defaultServer
Liberty Image Evolves
CHAPTER TWO
docker stop <container>
WLP_LOGS = /logs
WLP_OUTPUT_DIR = /opt/ibm/wlp/output
/config -> /opt/ibm/wlp/usr/servers/defaultServer
/output -> /opt/ibm/wlp/output/defaultServer
Dockerfile
FROM websphere-liberty:webProfile7
COPY app.war /config/dropins
docker run 
-d --read-only 
-v logs:/logs 
--tmpfs /opt/ibm/wlp/output 
websphere-liberty:webProfile7
https://integratedcode.us/2016/04/22/
a-step-towards-multi-platform-docker-images/
WAS traditional
CHAPTER THREE
Dockerfiles
• Build an IBM HTTP server image
(https://github.com/WASdev/ci.docker.ibm-http-server)
• Build a WAS traditional images
(https://github.com/WASdev/ci.docker.websphere-traditional) for
• Developer
• Base
• ND
• Deployment manager
• Application server
• Custom node
Building a WAS traditional base or developer image
1. Obtain Installation Manager and WAS binaries from Fix Central and
developerWorks or Passport Advantage
2. Host binaries on an HTTP/FTP server
3. Use Dockerfile.prereq to build prereq image
4. Run prereq image to output a TAR file containing the product install
5. Use Dockerfile.install to build install image from TAR file
6. Optionally use Dockerfile.profile to add profile to image
Final image size is around 1.5 GB
Running a traditional server under Docker
$ docker run -p 9060:9060 -p 9080:9080 -d 
--name=ws websphere-traditional
$ docker stop ws
$ docker rm ws
• Creates profile if not already created
• Pass -e UPDATE_HOSTNAME=true if hostname in existing profile
should be updated to match host at runtime
• Starts server and then monitors PID file
Deploying applications
• For development, use admin console, remote tools support or wsadmin
for application configuration and deployment
• For production, script deployment of application and build in to image
• Use -conntype NONE so that server does not have to be running
Data volumes
• Expectation is that WAS traditional containers are long-lived (may be
started/stopped multiple times)
• May still be desirable to persist certain files/directories outside of the
container e.g. transaction logs or logs
• Also possible to mount the entire profile as a volume to allow it to be
moved from one install image to another e.g.
• $ docker run -v /opt/IBM/WebSphere/AppServer/profiles -p 9060:9060 -d
websphere-traditional
Building ND images
• Build an install image as for base/developer but using ND binaries
• Create a Deployment Manager image with a dmgr profile
• Create a managed node image
• Runs a node agent and application server
• Federates to the deployment manager on startup
• Application server (and application) may be configured in to image at
build time (e.g. used as template for cluster member) or created at
runtime via deployment manager
• Some configuration (e.g. SIBus cluster members) must be configured
via deployment manager
Creating an ND topology
• Create a multi-host overlay network (or use host-level networking)
• $ docker network create cell
• Run deployment manager
• $ docker run --name dmgr -h dmgr --net=cell -p 9060:9060 -d dmgr
• Run application server image that federates to dmgr
• $ docker run --name server1 -h server1 --net=cell -p 9080:9080 -d appserver
Example ND topology
Host A
Host B
Host C
Container
Container
Container
Container
DMgr
Node
Agent
App
Server
Node
Agent
App
Server
Node
Agent
App
Server
Developer Experience
CHAPTER FOUR
WebSphere Developer Tools support for Docker
Debugging Liberty under Docker
Delivery Pipeline
Docker Trusted
Registry
Container Platforms
CHAPTER FIVE
IBM Containers
OpenShift V3
https://developer.ibm.com/wasdev/docs/running-websphere-liberty-openshift-v3/
Docker Datacenter
IBM reseller or Docker Datacenter providing L1 & L2 support: ibm.biz/ddc-announce
Docker Universal
Control Plane
Docker Trusted
Registry
On premises Datacenter Virtual Private Cloud
Docker Engines
Docker Swarm
Docker Datacenter
Docker Universal Control Plane Architecture
UCP Controller
Swarm
Manager
Certificate
Authority
KV Store
Docker Remote API Docker Remote API
LDAP/AD
User Requests via
Docker Remote API
External CA
HA Replica
Swarm
KV Store
HA Replica
Swarm
KV Store
Datacenter load-balancing reference architecture
https://www.docker.com/sites/default/files/RA_UCP%20Load%20Balancing-Feb%202016_1.pdf
Swarm Master NginxInterlock
Liberty Swarm AgentSwarm Agent Liberty
Docker
Compose
HTTP
Interlock/Nginx Compose Configuration
version: '2'
services:
interlock:
image: ehazlett/interlock:1.1.0
command: -D run
ports:
- 8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ucp-node-certs:/certs
restart: always
network_mode: "bridge"
environment:
INTERLOCK_CONFIG: |
ListenAddr = ":8080"
DockerURL = "tcp://ucpfqdn:8888"
TLSCACert = "/certs/ca.pem"
TLSCert = "/certs/cert.pem"
TLSKey = "/certs/key.pem"
[[Extensions]]
Name = "nginx"
ConfigPath = "/etc/nginx/nginx.conf"
PidPath = "/etc/nginx/nginx.pid"
MaxConn = 1024
Port = 80
Interlock/Nginx Compose Configuration
nginx:
image: nginx:latest
entrypoint: nginx
command: -g "daemon off;" -c /etc/nginx/nginx.conf
ports:
- 1234:80
labels:
- "interlock.ext.name=nginx"
depends_on:
- interlock
network_mode: "bridge"
restart: always
volumes:
ucp-node-certs:
external: true
Application Compose Configuration
version: '2'
services:
app:
image: ddc.eval.docker.com/admin/app
ports:
- 9080
depends_on:
- nginx
labels:
- "interlock.hostname=test"
- "interlock.domain=lib"
Voting Application
Java Container
WXS Catalog
Container
DB2 Container
WebSphere
Liberty Container
Voting App
WebSphere
Liberty Container
Result App
Worker
WXS Catalog
Container
docker-compose.yml
version: "2”
services:
voting-app:
image: bceglc260.in.ibm.com/kavitha/votingapp
ports:
- "5000:9080"
networks:
- voteapp
result-app:
image: bceglc260.in.ibm.com/kavitha/resultapp
ports:
- "5001:9080"
networks:
- voteapp
worker:
image: bceglc260.in.ibm.com/kavitha/worker
networks:
- voteapp
wxs:
image: bceglc260.in.ibm.com/kavitha/wxscat
ports:
- "2809:2809“
networks:
- voteapp
container_name: wxs
wxscon:
image: bceglc260.in.ibm.com/kavitha/wxscon
networks:
- voteapp
db:
image: bceglc260.in.ibm.com/kavitha/db2
environment:
DB2INST1_PASSWORD: db2inst1
LICENSE: accept
command: db2start
volumes:
- "db-data:/home/db2inst1/db2inst1"
networks:
- voteapp
container_name: db
volumes:
db-data:
networks:
voteapp:
41
Liberty Collectives
CHAPTER SIX
Dynamic routing with Liberty collectives
Swarm Master IHS/Plugin
Collective
Controller
Liberty Swarm AgentSwarm Agent Liberty
Docker
Compose
HTTP
Liberty collectives managing Docker containers
IHS/Plugin
Collective
Controller
Liberty Docker EngineDocker Engine Liberty
Liberty
Admin
HTTP
THE END

Más contenido relacionado

La actualidad más candente

DTW18 - code08 - Everything You Need To Know About Storage with Kubernetes
DTW18 - code08 - Everything You Need To Know About Storage with KubernetesDTW18 - code08 - Everything You Need To Know About Storage with Kubernetes
DTW18 - code08 - Everything You Need To Know About Storage with KubernetesKendrick Coleman
 
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...David Currie
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsJames Bayer
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
 
Weblogic application server
Weblogic application serverWeblogic application server
Weblogic application serverAnuj Tomar
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDr Ganesh Iyer
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker, Inc.
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionSparkbit
 
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueShapeBlue
 
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!
 
Quarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java frameworkQuarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java frameworkSVDevOps
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefitsAmit Manwade
 
SRM versus Stretched Clusters: Choosing the Right Solution
SRM versus Stretched Clusters: Choosing the Right SolutionSRM versus Stretched Clusters: Choosing the Right Solution
SRM versus Stretched Clusters: Choosing the Right SolutionScott Lowe
 
WebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewWebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewChris Sparshott
 

La actualidad más candente (20)

DTW18 - code08 - Everything You Need To Know About Storage with Kubernetes
DTW18 - code08 - Everything You Need To Know About Storage with KubernetesDTW18 - code08 - Everything You Need To Know About Storage with Kubernetes
DTW18 - code08 - Everything You Need To Know About Storage with Kubernetes
 
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic Concepts
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
Weblogic application server
Weblogic application serverWeblogic application server
Weblogic application server
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Private cloud
Private cloudPrivate cloud
Private cloud
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
 
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...
 
Quarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java frameworkQuarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java framework
 
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
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefits
 
Docker, LinuX Container
Docker, LinuX ContainerDocker, LinuX Container
Docker, LinuX Container
 
SRM versus Stretched Clusters: Choosing the Right Solution
SRM versus Stretched Clusters: Choosing the Right SolutionSRM versus Stretched Clusters: Choosing the Right Solution
SRM versus Stretched Clusters: Choosing the Right Solution
 
WebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewWebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overview
 

Similar a WebSphere and Docker

Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and dockersflynn073
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerDavid Currie
 
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...Docker, Inc.
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Docker for developers
Docker for developersDocker for developers
Docker for developersandrzejsydor
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 augVincent De Smet
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service OverviewKyle Brown
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Patrick Chanezon
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Ben Hall
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on dockerWei Ting Chen
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with DockerMariaDB plc
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker, Inc.
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationGiacomo Vacca
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and MicroserviceSamuel Chow
 

Similar a WebSphere and Docker (20)

Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
Cicd.pdf
Cicd.pdfCicd.pdf
Cicd.pdf
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and Microservice
 

Más de David Currie

Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmDavid Currie
 
Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmDavid Currie
 
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...David Currie
 
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...David Currie
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveDavid Currie
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveDavid Currie
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesDavid Currie
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixDavid Currie
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...David Currie
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceDavid Currie
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureDavid Currie
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesDavid Currie
 
Taking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareTaking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareDavid Currie
 

Más de David Currie (14)

Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and Helm
 
Continuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and HelmContinuous Delivery to Kubernetes with Jenkins and Helm
Continuous Delivery to Kubernetes with Jenkins and Helm
 
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
WebSphere Liberty and IBM Containers: The Perfect Combination for Java Micros...
 
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
 
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...Building out a Microservices Architecture with WebSphere Liberty Profile and ...
Building out a Microservices Architecture with WebSphere Liberty Profile and ...
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
 
Introduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application ArchitectureIntroduction to Microservices and Cloud Native Application Architecture
Introduction to Microservices and Cloud Native Application Architecture
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 
Taking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source SoftwareTaking the Application Server to Web Scale with Netflix Open Source Software
Taking the Application Server to Web Scale with Netflix Open Source Software
 

Último

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 

Último (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

WebSphere and Docker

  • 1. WebSphere and Docker THE NEXT CHAPTER(S) David Currie | david_currie@uk.ibm.com | @dcurrie Kavitha Suresh Kumar | kavisuresh@in.ibm.com | @kavi2002suresh
  • 2. Contents • Chapter 1: The Story So Far • Chapter 2: Liberty Image Evolves • Chapter 3: WAS traditional • Chapter 4: Developer Experience • Chapter 5: Container Platforms • Chapter 6: Liberty Collectives
  • 3. The Story So Far CHAPTER ONE
  • 5.
  • 6. WebSphere Application Server 8.5.5.5 onwards (Liberty and traditional) supported running under Docker “ ”March 2015
  • 7.
  • 8. Dockerfile FROM websphere-liberty COPY wlp*license-8.5.5.*.jar /tmp/ RUN java -jar /tmp/wlp*license-8.5.5.*.jar --acceptLicense /opt/ibm && rm /tmp/wlp*license-8.5.5.*.jar
  • 9. kernel common webProfile7 javaee7 webProfile6beta June 2015
  • 10. Dockerfile FROM websphere-liberty:kernel COPY server.xml /opt/ibm/wlp/usr/servers/defaultServer/ RUN installUtility install --acceptLicense defaultServer
  • 13. WLP_LOGS = /logs WLP_OUTPUT_DIR = /opt/ibm/wlp/output /config -> /opt/ibm/wlp/usr/servers/defaultServer /output -> /opt/ibm/wlp/output/defaultServer
  • 15. docker run -d --read-only -v logs:/logs --tmpfs /opt/ibm/wlp/output websphere-liberty:webProfile7
  • 18. Dockerfiles • Build an IBM HTTP server image (https://github.com/WASdev/ci.docker.ibm-http-server) • Build a WAS traditional images (https://github.com/WASdev/ci.docker.websphere-traditional) for • Developer • Base • ND • Deployment manager • Application server • Custom node
  • 19. Building a WAS traditional base or developer image 1. Obtain Installation Manager and WAS binaries from Fix Central and developerWorks or Passport Advantage 2. Host binaries on an HTTP/FTP server 3. Use Dockerfile.prereq to build prereq image 4. Run prereq image to output a TAR file containing the product install 5. Use Dockerfile.install to build install image from TAR file 6. Optionally use Dockerfile.profile to add profile to image Final image size is around 1.5 GB
  • 20. Running a traditional server under Docker $ docker run -p 9060:9060 -p 9080:9080 -d --name=ws websphere-traditional $ docker stop ws $ docker rm ws • Creates profile if not already created • Pass -e UPDATE_HOSTNAME=true if hostname in existing profile should be updated to match host at runtime • Starts server and then monitors PID file
  • 21. Deploying applications • For development, use admin console, remote tools support or wsadmin for application configuration and deployment • For production, script deployment of application and build in to image • Use -conntype NONE so that server does not have to be running
  • 22. Data volumes • Expectation is that WAS traditional containers are long-lived (may be started/stopped multiple times) • May still be desirable to persist certain files/directories outside of the container e.g. transaction logs or logs • Also possible to mount the entire profile as a volume to allow it to be moved from one install image to another e.g. • $ docker run -v /opt/IBM/WebSphere/AppServer/profiles -p 9060:9060 -d websphere-traditional
  • 23. Building ND images • Build an install image as for base/developer but using ND binaries • Create a Deployment Manager image with a dmgr profile • Create a managed node image • Runs a node agent and application server • Federates to the deployment manager on startup • Application server (and application) may be configured in to image at build time (e.g. used as template for cluster member) or created at runtime via deployment manager • Some configuration (e.g. SIBus cluster members) must be configured via deployment manager
  • 24. Creating an ND topology • Create a multi-host overlay network (or use host-level networking) • $ docker network create cell • Run deployment manager • $ docker run --name dmgr -h dmgr --net=cell -p 9060:9060 -d dmgr • Run application server image that federates to dmgr • $ docker run --name server1 -h server1 --net=cell -p 9080:9080 -d appserver
  • 25. Example ND topology Host A Host B Host C Container Container Container Container DMgr Node Agent App Server Node Agent App Server Node Agent App Server
  • 27. WebSphere Developer Tools support for Docker
  • 33. Docker Datacenter IBM reseller or Docker Datacenter providing L1 & L2 support: ibm.biz/ddc-announce Docker Universal Control Plane Docker Trusted Registry On premises Datacenter Virtual Private Cloud Docker Engines Docker Swarm Docker Datacenter
  • 34. Docker Universal Control Plane Architecture UCP Controller Swarm Manager Certificate Authority KV Store Docker Remote API Docker Remote API LDAP/AD User Requests via Docker Remote API External CA HA Replica Swarm KV Store HA Replica Swarm KV Store
  • 35. Datacenter load-balancing reference architecture https://www.docker.com/sites/default/files/RA_UCP%20Load%20Balancing-Feb%202016_1.pdf Swarm Master NginxInterlock Liberty Swarm AgentSwarm Agent Liberty Docker Compose HTTP
  • 36. Interlock/Nginx Compose Configuration version: '2' services: interlock: image: ehazlett/interlock:1.1.0 command: -D run ports: - 8080 volumes: - /var/run/docker.sock:/var/run/docker.sock - ucp-node-certs:/certs restart: always network_mode: "bridge" environment: INTERLOCK_CONFIG: | ListenAddr = ":8080" DockerURL = "tcp://ucpfqdn:8888" TLSCACert = "/certs/ca.pem" TLSCert = "/certs/cert.pem" TLSKey = "/certs/key.pem" [[Extensions]] Name = "nginx" ConfigPath = "/etc/nginx/nginx.conf" PidPath = "/etc/nginx/nginx.pid" MaxConn = 1024 Port = 80
  • 37. Interlock/Nginx Compose Configuration nginx: image: nginx:latest entrypoint: nginx command: -g "daemon off;" -c /etc/nginx/nginx.conf ports: - 1234:80 labels: - "interlock.ext.name=nginx" depends_on: - interlock network_mode: "bridge" restart: always volumes: ucp-node-certs: external: true
  • 38. Application Compose Configuration version: '2' services: app: image: ddc.eval.docker.com/admin/app ports: - 9080 depends_on: - nginx labels: - "interlock.hostname=test" - "interlock.domain=lib"
  • 39. Voting Application Java Container WXS Catalog Container DB2 Container WebSphere Liberty Container Voting App WebSphere Liberty Container Result App Worker WXS Catalog Container
  • 40. docker-compose.yml version: "2” services: voting-app: image: bceglc260.in.ibm.com/kavitha/votingapp ports: - "5000:9080" networks: - voteapp result-app: image: bceglc260.in.ibm.com/kavitha/resultapp ports: - "5001:9080" networks: - voteapp worker: image: bceglc260.in.ibm.com/kavitha/worker networks: - voteapp wxs: image: bceglc260.in.ibm.com/kavitha/wxscat ports: - "2809:2809“ networks: - voteapp container_name: wxs wxscon: image: bceglc260.in.ibm.com/kavitha/wxscon networks: - voteapp db: image: bceglc260.in.ibm.com/kavitha/db2 environment: DB2INST1_PASSWORD: db2inst1 LICENSE: accept command: db2start volumes: - "db-data:/home/db2inst1/db2inst1" networks: - voteapp container_name: db volumes: db-data: networks: voteapp: 41
  • 42. Dynamic routing with Liberty collectives Swarm Master IHS/Plugin Collective Controller Liberty Swarm AgentSwarm Agent Liberty Docker Compose HTTP
  • 43. Liberty collectives managing Docker containers IHS/Plugin Collective Controller Liberty Docker EngineDocker Engine Liberty Liberty Admin HTTP