.docker : how to deploy Digital Experience in a container drinking a cup of coffee

Andrea Fontana
Andrea FontanaIBM Collaborative Solution & Websphere Architect
.docker : how to deploy Digital Experience
in a container drinking a cup of coffee
Matteo Bisi – Andrea Fontana
About us
2
• Matteo Bisi – System Engineer
• IBM Champion Social Business 2014,15, 16
• Blogger – www.msbiro.net, blog.msbiro.net
• Social: @mbisi78
https://it.linkedin.com/in/matteobisi
matteo.bisi@factor-y.com
About us
3
• Andrea Fontana – CTO
• IBM Champion Social Business 2015,16
• IBM Champion for WebSphere 2012,13,14
• IBM Advocate since 2012
• Blogger – razioni-k.net2action.com
• Social: @net2action
https://it.linkedin.com/in/afontana
a.fontana@sowre.com
SAP DEVELOPER
BUSINESS PARTNER
Docker + IBM Social Software
What and why
4
Docker
• Docker is an open platform for developing, shipping, and running applications.
• Docker is designed to deliver your applications faster.
• With Docker you can separate your applications from your infrastructure and treat your
infrastructure like a managed application.
5
Docker and containers in a few slides
Docker is a way to “package” your software in an
image:
 File system
 System security (user/groups) & settings
 TCP Network (ports that needs to be
reachable)
 Image inheritance is possible (incremental
specialization)
Docker is a way to “ship & run” your software to
other systems:
• Start an “image” to get a container where your
software runs
• Manage containers (start/stop/control etc)
• The container runs regardless of the actual
(underlying) system (VM, bare metal, etc)
6
Docker History
• Docker was released as open source in March 2013
• Solomon Hykes started Docker in France as an internal project within dotCloud, a platform-
as-a-service company, with initial contributions by other dotCloud engineers including
Andrea Luzzardi and Francois-Xavier Bourlet.
• with the release of version 0.9, Docker dropped LXC as the default execution environment
and replaced it with its own libcontainer library written in the Go programming language.
(Google’s OpenSource Programming Language )
• In 2015, the project had over 25,600 GitHub, over 6,800 forks, and nearly 1,100
contributors.
• In May 2016 analysis showed the following organizations as main contributors to Docker:
The Docker team, Cisco, Google, Huawei, IBM, Microsoft, and Red Hat.
7
The underlying technology
Namespaces
• Pod: pid isolation
• Net: network interface
• Ipc: interProcess
Communication
• Mnt: managing mount point
• Uts: isolating kernel and
version identifier
Control groups
limits and isolates
the resource usage of a
collection of processes
Union File Systems
operate by creating layers
very lightweight and fast
CONTAINER (libcontainer)
8
Docker keys components
9
• Docker engine
• Docker machine
• Docker registry
Docker Engine
Docker Engine is a client-server application with these major components:
• A server which is a type of long-running program called a daemon process.
• A REST API which specifies interfaces that programs can use to talk to the daemon and
instruct it what to do.
• A command line interface (CLI) client.
10
Docker Machine
• Docker Machine is a tool that lets you install
Docker Engine on virtual hosts, and manage
the hosts with docker-machine commands.
• You can use Machine to create Docker
hosts on your local Mac or Windows box, on
your company network, in your data center,
or on cloud providers like AWS or Digital
Ocean.
11
Docker registry
The registry is a server application that lets you distribute Docker images.
https://hub.docker.com/explore/
12https://hub.docker.com/u/ibmcom/
Docker registry… On-premises
Docker hub free-to-use, hosted Registry, plus additional features (organization
accounts, automated builds, and more).
13
Docker registry… On-premises
Running your own Registry is a great solution to integrate with your CI/CD system.
(Continuous Integration/Delivery)
A notification from the Registry would then trigger to notify other systems that a new
image is available.
It’s also an essential component if you want to quickly deploy a new image over a large
cluster of machines.
Finally, it’s the best way to distribute images inside an isolated network.
14
Availability
• Linux
• Windows
• Mac
• Aws
• Azure
• Bluemix
• …
Docker’s architecture
Docker uses a client-server
architecture !
The same image can run
on your laptop, on your server, on your cloud
15
HA is also available
Starting from version 1.12 Docker swarm was integrated into Docker Engine in swarm
mode:
Highlights:
• Cluster management integrated with Docker Engine
• Multi-host networking
• Load balancing
• Secure by default (TLS stricly enforced for communications)
• Scaling
16
Why Docker
Create images to support developers (standard deployment)
Keep an archive of images for every software release to perform back-version
debugging/testing (start a clean server in minutes)
Consolidate multiple servers on a single powerful machine but maintain complete
isolation
17
Container vs Virtual Machine
Virtual machine runs a dedicated
operating system.
Each VM has its own binaries/libraries
and application(s) that it services,
and the VM may be many gigabytes
in size
Each container shares the host OS kernel
and, usually, the binaries and libraries, too.
Shared components are read-only
This makes containers exceptionally “light” –
containers are only megabytes in size and
take just seconds to start, versus minutes for
a VM
18
Yours Containers can be shipped!19
And IBM ?
20
IBM announces zSystem
for Docker
Download here: http://www.ibm.com/developerworks/linux/linux390/docker.html
IBM and Docker offer integrated container solutions that
can meet the diverse needs of enterprises.
Supporting the creation and deployment of multi-platform,
multi-container workloads across hybrid infrastructures,
IBM and Docker accelerate application delivery and
enable application lifecycle management for Dockerized
containers.
21
IBM announces Docker on
IBM PureApplication System
The good news is that Docker is now supported on IBM
PureApplication v2.1! You can now use Docker containers in the
virtual system patterns that you create and you can reference Docker
images that are stored on Docker Hub or in a private Docker registry
that runs inside PureApplication. Taking advantage of the Docker
containers on PureApplication is as easy as building patterns.
22
IBM Bluemix
• IBM Bluemix provides built in DevOps services to manage source code and to build, test
and deploy applications to Bluemix.
• For more complex scenarios IBM provides the Continuous Delivery toolset UrbanCode to
deploy hybrid applications to the cloud and on-premises and to deploy composite
applications with multiple components or microservices.
• The store application uses one container on Bluemix . Containers running in a Docker
Swarm cluster on-premises.
Does anyone know this guy?
http://heidloff.net/article/11.11.2015100203NHECLU.htm
He is Niklas Heidloff, Developer Advocate for IBM
Bluemix, working on Docker on Bluemix Environment.
23
IBM Bluemix Containers Roadmap
24
IBM sw supported
25
• Db2 from 10.1 10.5 , 11.1
• DB2 express *
• Websphere Application Server 8.5.5 and 9.0
• Websphere Liberty profiles *
• Domino is not supported (yet..)
• Digital experience is not supported (yet..)
Offical images available on docker hub
How To: Create Docker images with
IBM Social Software
26
Prepare your Container
• Prepare the Installation script
• Using Silent installation method
• Preparing the response file and whatever you need to
complete setup
• Create your Docker File and deploy it.
27
Docker Image
A docker image is a read-only template for creating containers.
• Manual: Start from a base image, build your customization and commit the new image.
• DockerFile: Use a script.
DockerFile anatomy
A “DockerFile” is a text file with docker commands, it
• Declares the “base image” to inherit from
• Copies files to the image filesystem
• Executes commands in the image to setup things
• Declares “VOLUME” mappings
• Declares ports to “EXPOSE”d.
28
Docker File Anatomy
Identifies which folder you need to share
between container and host
Identifies which image you want to use
Identifies which command you need to
execute inside the containers
FROM ubuntu:latest
VOLUME [/opt/data]
VOLUME [/etc]
VOLUME [/home]
RUN apt-get install -y 
aptitude 
net-tools 
libxtst6 
libxi6 
libcanberra-gtk3 
gtk+
COPY DB2_Svr_10.5.0.3_Linux_x86-64.tar.gz /tmp/db210.5/ Copy your Packages into the containers
29
Prepare IBM Silent Installation
You can use the IBM installation manager from command line, and create your response
file sample!
IBMIM –record /tmp/was9.xml -skipInstall /tmp/IBM/
<?xml version='1.0' encoding='UTF-8'?>
<agent-input>
<variables>
<variable name='sharedLocation' value='/opt/ibm/IMShared'/>
</variables>
<server>
<repository location='/tmp/sw-repo/WAS_ND_9'/>
<repository location='/tmp/sw-repo/SDK_JAVA_V8'/>
</server>
<profile id='IBM WebSphere Application Server V9.0' installLocation='/opt/ibm/WebSphere/AppServer'>
<data key='cic.selector.arch' value='x86_64'/>
<data key='cic.selector.nl' value='en,en'/>
</profile>
<install>
<!-- IBM WebSphere Application Server Network Deployment 9.0.0.0 -->
<offering profile='IBM WebSphere Application Server V9.0' id='com.ibm.websphere.ND.v90' version='9.0.0.20160526_1854' features='core.feature,ejbdeploy,thinclient,embeddablecontainer'/>
<!-- IBM SDK, Java Technology Edition, Versione 8 8.0.3.0 -->
<offering profile='IBM WebSphere Application Server V9.0' id='com.ibm.java.jdk.v8' version='8.0.3000.20160526_1317' features='com.ibm.sdk.8'/>
</install>
30
/opt/ibm/im/eclipse/tools/imcl input /tmp/was9.xml -acceptLicense
Ready to go?
imcl install packageID[_version][,featureID]
-repositories source_repository
-installationDirectory installation_directory
-accessRights mode
We can use our response file
Install from command line
31
Was9 Docker File
# Select the base image to inherit from
FROM ubuntu:latest
# Image description
LABEL Description="WebSphere 9, HTTP 9, Plugin 9" Vendor="MSBIRO.NET" Version="1.0"
# Execute unix command
COPY sw-repo/* /tmp/sw-repo/
RUN apt-get update && apt-get install vim –y
RUN apt-get install -y 
vim 
psmisc
32
RUN /tmp/sw-repo/IM185_LNX64/installc -log log_file -acceptLicense -installationDirectory /opt/ibm/im/
RUN /opt/ibm/im/eclipse/tools/imcl input /tmp/sw-repo/RESPONSE/was9.xml
-acceptLicense
RUN /opt/ibm/im/eclipse/tools/imcl input /tmp/sw-repo/RESPONSE/was9supp.xml –acceptLicense
RUN echo $(head -1 /etc/hosts | cut -f1) dmgr.ondemand.com >> /etc/hosts &&
/opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -response /tmp/sw-repo/RESPONSE/dmgr
RUN echo $(head -1 /etc/hosts | cut -f1) dmgr.ondemand.com >> /etc/hosts &&
/opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -response /tmp/sw-repo/RESPONSE/appsrv01
Was9 Docker File
33
Was9 Image
RUN /opt/ibm/WebSphere/AppServer/bin/wasservice.sh -add docker-DMGR -servername dmgr
-profilePath /opt/ibm/WebSphere/AppServer/profiles/Dmgr01/ -stopArgs
‘-username waslocal -password docker'
RUN /opt/ibm/WebSphere/AppServer/bin/wasservice.sh -add docker-NA -servername nodeagent
-profilePath /opt/ibm/WebSphere/AppServer/profiles/AppSrv01/ -stopArgs
'-username waslocal -password docker -stopservers‘
RUN mkdir /var/lock/subsys
# Volume definition
VOLUME ["/opt/ibm/WebSphere/AppServer"]
# port exposed to external world
EXPOSE 80 443 9060 9043
RUN rm /tmp/sw-repo -R
A data volume is a specially-designated directory within one or more containers that bypasses the Union File System.
Data volumes provide several useful features for persistent or shared data:
Volumes are initialized when a container is created. Data volumes can be shared and reused among containers.
Changes to a data volume are made directly.
Changes to a data volume will not be included when you update an image.
Data volumes persist even if the container itself is deleted.
Data volumes are designed to persist data, independent of the life cycle of the container.
The EXPOSE instruction informs Docker that the container listens on the specified network ports at runtime
34
LIVE DEMO
35
Questions?
36
LinksDocker training – online video course
https://training.docker.com/self-paced-training
IBM Installation Manager resources
http://tinyurl.com/ibm-im-command-line-arg
http://tinyurl.com/ibm-im-record-response
DB2 and docker some suggestion from IBM
http://tinyurl.com/db2-and-docker-from-ibm
Docker and Domino
http://tinyurl.com/domino-container-docker
37
Thank you!
38
1 of 38

Recommended

Docker Basics by
Docker BasicsDocker Basics
Docker BasicsEueung Mulyana
2.6K views36 slides
OPEN SOURCE TECHNOLOGY: Docker Containers on IBM Bluemix by
OPEN SOURCE TECHNOLOGY: Docker Containers on IBM BluemixOPEN SOURCE TECHNOLOGY: Docker Containers on IBM Bluemix
OPEN SOURCE TECHNOLOGY: Docker Containers on IBM BluemixDA SILVA, MBA
1.6K views30 slides
IBM Bluemix and Docker Guest Lecture at Cork Institute of Technology by
IBM Bluemix and Docker Guest Lecture at Cork Institute of TechnologyIBM Bluemix and Docker Guest Lecture at Cork Institute of Technology
IBM Bluemix and Docker Guest Lecture at Cork Institute of TechnologySanjay Nayak
2.2K views31 slides
C219 - Docker and PureApplication Patterns: Better Together by
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherHendrik van Run
76 views31 slides
IBM Container Service Overview by
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service OverviewKyle Brown
2.1K views28 slides
Docker Basic to Advance by
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
470 views101 slides

More Related Content

What's hot

Container as a Service with Docker by
Container as a Service with DockerContainer as a Service with Docker
Container as a Service with DockerPatrick Chanezon
10.1K views27 slides
HPC Cloud Burst Using Docker by
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
43 views5 slides
Docker : Container Virtualization by
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container VirtualizationRanjan Baisak
469 views11 slides
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To... by
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!
3.6K views20 slides
Introduction to Docker Containers - Docker Captain by
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainAjeet Singh Raina
3.8K views56 slides
Dockers & kubernetes detailed - Beginners to Geek by
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to GeekwiTTyMinds1
151 views130 slides

What's hot(20)

Container as a Service with Docker by Patrick Chanezon
Container as a Service with DockerContainer as a Service with Docker
Container as a Service with Docker
Patrick Chanezon10.1K views
HPC Cloud Burst Using Docker by IRJET Journal
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
IRJET Journal43 views
Docker : Container Virtualization by Ranjan Baisak
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container Virtualization
Ranjan Baisak469 views
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To... by Edureka!
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!3.6K views
Introduction to Docker Containers - Docker Captain by Ajeet Singh Raina
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina3.8K views
Dockers & kubernetes detailed - Beginners to Geek by wiTTyMinds1
Dockers & kubernetes detailed - Beginners to GeekDockers & kubernetes detailed - Beginners to Geek
Dockers & kubernetes detailed - Beginners to Geek
wiTTyMinds1151 views
Discussing the difference between docker dontainers and virtual machines by Steven Grzbielok
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
Steven Grzbielok2K views
2014, April 15, Atlanta Java Users Group by Todd Fritz
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
Todd Fritz2.7K views
Using Open Source and Open Standards in the Platform game by Patrick Chanezon
Using Open Source and Open Standards in the Platform gameUsing Open Source and Open Standards in the Platform game
Using Open Source and Open Standards in the Platform game
Patrick Chanezon1.5K views
Developing with Docker for the Arm Architecture by Docker, Inc.
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
Docker, Inc.2.2K views
Docker OpenStack Cloud Foundry by Animesh Singh
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
Animesh Singh17.7K views
Docker Container As A Service - March 2016 by Patrick Chanezon
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
Patrick Chanezon3.5K views
Cloud foundry Docker Openstack - Leading Open Source Triumvirate by Animesh Singh
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Animesh Singh15.3K views
Docker introduction &amp; benefits by Amit Manwade
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefits
Amit Manwade695 views
A Shift from Monolith to Microservice using Docker by Ajeet Singh Raina
A Shift from Monolith to Microservice using DockerA Shift from Monolith to Microservice using Docker
A Shift from Monolith to Microservice using Docker
Ajeet Singh Raina842 views
Jenkins advance topic by Kalkey
Jenkins advance topicJenkins advance topic
Jenkins advance topic
Kalkey70 views
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp... by Edureka!
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!2.5K views
Containers, Docker, and Microservices: the Terrific Trio by Jérôme Petazzoni
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
Jérôme Petazzoni17.7K views
Docker and containers - For Boston Docker Meetup Workshop in March 2015 by Jonas Rosland
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland1.6K views

Viewers also liked

Letter of Recommendation from Mr. Lawler by
Letter of Recommendation from Mr. LawlerLetter of Recommendation from Mr. Lawler
Letter of Recommendation from Mr. LawlerJulie Phelps
183 views1 slide
Innovation activity by
Innovation activityInnovation activity
Innovation activityjrever
361 views7 slides
Tommy Sandy 50th Anniversary Celebration by
Tommy Sandy 50th Anniversary CelebrationTommy Sandy 50th Anniversary Celebration
Tommy Sandy 50th Anniversary CelebrationShari Locke
279 views4 slides
WebSphere Portal & User Experience by
WebSphere Portal & User ExperienceWebSphere Portal & User Experience
WebSphere Portal & User ExperienceAndrea Fontana
502 views38 slides
Tommy Sandy 50th Anniversary 3rd by
Tommy Sandy 50th Anniversary 3rdTommy Sandy 50th Anniversary 3rd
Tommy Sandy 50th Anniversary 3rdShari Locke
205 views3 slides
Tommy Sandy 50th Anniversary 4th by
Tommy Sandy 50th Anniversary 4thTommy Sandy 50th Anniversary 4th
Tommy Sandy 50th Anniversary 4thShari Locke
179 views4 slides

Viewers also liked(16)

Letter of Recommendation from Mr. Lawler by Julie Phelps
Letter of Recommendation from Mr. LawlerLetter of Recommendation from Mr. Lawler
Letter of Recommendation from Mr. Lawler
Julie Phelps183 views
Innovation activity by jrever
Innovation activityInnovation activity
Innovation activity
jrever361 views
Tommy Sandy 50th Anniversary Celebration by Shari Locke
Tommy Sandy 50th Anniversary CelebrationTommy Sandy 50th Anniversary Celebration
Tommy Sandy 50th Anniversary Celebration
Shari Locke279 views
WebSphere Portal & User Experience by Andrea Fontana
WebSphere Portal & User ExperienceWebSphere Portal & User Experience
WebSphere Portal & User Experience
Andrea Fontana502 views
Tommy Sandy 50th Anniversary 3rd by Shari Locke
Tommy Sandy 50th Anniversary 3rdTommy Sandy 50th Anniversary 3rd
Tommy Sandy 50th Anniversary 3rd
Shari Locke205 views
Tommy Sandy 50th Anniversary 4th by Shari Locke
Tommy Sandy 50th Anniversary 4thTommy Sandy 50th Anniversary 4th
Tommy Sandy 50th Anniversary 4th
Shari Locke179 views
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby by Shinichi Okada
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Shinichi Okada918 views
[3] silabus pkn by sutarso
[3] silabus pkn[3] silabus pkn
[3] silabus pkn
sutarso448 views
SILABUS IPS by sutarso
SILABUS IPSSILABUS IPS
SILABUS IPS
sutarso790 views
I prodotti vernicianti e i sistemi tintometrici by Filippo Busolo
I prodotti vernicianti e i sistemi tintometriciI prodotti vernicianti e i sistemi tintometrici
I prodotti vernicianti e i sistemi tintometrici
Filippo Busolo1.3K views
SILABUS PKN KELAS 6 by sutarso
SILABUS PKN KELAS  6SILABUS PKN KELAS  6
SILABUS PKN KELAS 6
sutarso5.2K views
Evolution towards the intranet 3.0 by Andrea Fontana
Evolution towards the intranet 3.0Evolution towards the intranet 3.0
Evolution towards the intranet 3.0
Andrea Fontana361 views
Step 2 CK Presentation with Dr. Tao Le by firstaidusmlerx
Step 2 CK Presentation with Dr. Tao LeStep 2 CK Presentation with Dr. Tao Le
Step 2 CK Presentation with Dr. Tao Le
firstaidusmlerx5.1K views
Connect2016 - 1172 Shipping domino by Matteo Bisi
Connect2016 - 1172 Shipping dominoConnect2016 - 1172 Shipping domino
Connect2016 - 1172 Shipping domino
Matteo Bisi9.7K views
Docker, how to use it. Organize a meeting with IBM products by Andrea Fontana
Docker, how to use it. Organize a meeting with IBM productsDocker, how to use it. Organize a meeting with IBM products
Docker, how to use it. Organize a meeting with IBM products
Andrea Fontana377 views
Scalability, Availability & Stability Patterns by Jonas Bonér
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
Jonas Bonér515.7K views

Similar to .docker : how to deploy Digital Experience in a container drinking a cup of coffee

.docker : How to deploy Digital Experience in a container, drinking a cup of ... by
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...ICON UK EVENTS Limited
308 views36 slides
Docker slides by
Docker slidesDocker slides
Docker slidesJyotsna Raghuraman
9.1K views22 slides
What is Docker? by
What is Docker?What is Docker?
What is Docker?Shubhrank Rastogi
216 views33 slides
Docker, Cloud Foundry, Bosh & Bluemix by
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixIBM
3.4K views36 slides
Docker 101 - Nov 2016 by
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
7.2K views34 slides
Docker by
DockerDocker
DockerVu Duc Du
212 views34 slides

Similar to .docker : how to deploy Digital Experience in a container drinking a cup of coffee(20)

.docker : How to deploy Digital Experience in a container, drinking a cup of ... by ICON UK EVENTS Limited
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
Docker, Cloud Foundry, Bosh & Bluemix by IBM
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
IBM3.4K views
Docker 101 - Nov 2016 by Docker, Inc.
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.7.2K views
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ... by Ambassador Labs
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs1.9K views
Container on azure by Vishwas N
Container on azureContainer on azure
Container on azure
Vishwas N93 views
Understanding Docker and IBM Bluemix Container Service by Andrew Ferrier
Understanding Docker and IBM Bluemix Container ServiceUnderstanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container Service
Andrew Ferrier1.1K views
Docker - Portable Deployment by javaonfly
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly1.9K views
Faster and Easier Software Development using Docker Platform by msyukor
Faster and Easier Software Development using Docker PlatformFaster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker Platform
msyukor514 views
Dockerize the World by damovsky
Dockerize the WorldDockerize the World
Dockerize the World
damovsky753 views

Recently uploaded

The Importance of Cybersecurity for Digital Transformation by
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital TransformationNUS-ISS
25 views26 slides
MemVerge: Memory Viewer Software by
MemVerge: Memory Viewer SoftwareMemVerge: Memory Viewer Software
MemVerge: Memory Viewer SoftwareCXL Forum
118 views10 slides
.conf Go 2023 - Data analysis as a routine by
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routineSplunk
90 views12 slides
Photowave Presentation Slides - 11.8.23.pptx by
Photowave Presentation Slides - 11.8.23.pptxPhotowave Presentation Slides - 11.8.23.pptx
Photowave Presentation Slides - 11.8.23.pptxCXL Forum
126 views16 slides
[2023] Putting the R! in R&D.pdf by
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdfEleanor McHugh
38 views127 slides
MemVerge: Gismo (Global IO-free Shared Memory Objects) by
MemVerge: Gismo (Global IO-free Shared Memory Objects)MemVerge: Gismo (Global IO-free Shared Memory Objects)
MemVerge: Gismo (Global IO-free Shared Memory Objects)CXL Forum
112 views16 slides

Recently uploaded(20)

The Importance of Cybersecurity for Digital Transformation by NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS25 views
MemVerge: Memory Viewer Software by CXL Forum
MemVerge: Memory Viewer SoftwareMemVerge: Memory Viewer Software
MemVerge: Memory Viewer Software
CXL Forum118 views
.conf Go 2023 - Data analysis as a routine by Splunk
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
Splunk90 views
Photowave Presentation Slides - 11.8.23.pptx by CXL Forum
Photowave Presentation Slides - 11.8.23.pptxPhotowave Presentation Slides - 11.8.23.pptx
Photowave Presentation Slides - 11.8.23.pptx
CXL Forum126 views
[2023] Putting the R! in R&D.pdf by Eleanor McHugh
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh38 views
MemVerge: Gismo (Global IO-free Shared Memory Objects) by CXL Forum
MemVerge: Gismo (Global IO-free Shared Memory Objects)MemVerge: Gismo (Global IO-free Shared Memory Objects)
MemVerge: Gismo (Global IO-free Shared Memory Objects)
CXL Forum112 views
Liqid: Composable CXL Preview by CXL Forum
Liqid: Composable CXL PreviewLiqid: Composable CXL Preview
Liqid: Composable CXL Preview
CXL Forum121 views
"Fast Start to Building on AWS", Igor Ivaniuk by Fwdays
"Fast Start to Building on AWS", Igor Ivaniuk"Fast Start to Building on AWS", Igor Ivaniuk
"Fast Start to Building on AWS", Igor Ivaniuk
Fwdays36 views
Future of Learning - Yap Aye Wee.pdf by NUS-ISS
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
NUS-ISS38 views
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi by Fwdays
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
"AI Startup Growth from Idea to 1M ARR", Oleksandr Uspenskyi
Fwdays26 views
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy by Fwdays
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
Fwdays40 views
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum... by NUS-ISS
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
NUS-ISS28 views
Samsung: CMM-H Tiered Memory Solution with Built-in DRAM by CXL Forum
Samsung: CMM-H Tiered Memory Solution with Built-in DRAMSamsung: CMM-H Tiered Memory Solution with Built-in DRAM
Samsung: CMM-H Tiered Memory Solution with Built-in DRAM
CXL Forum105 views
AMD: 4th Generation EPYC CXL Demo by CXL Forum
AMD: 4th Generation EPYC CXL DemoAMD: 4th Generation EPYC CXL Demo
AMD: 4th Generation EPYC CXL Demo
CXL Forum126 views
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ... by Fwdays
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
Fwdays33 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst449 views
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... by NUS-ISS
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
NUS-ISS32 views
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa... by The Digital Insurer
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...
Webinar : Competing for tomorrow’s leaders – How MENA insurers can win the wa...
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs168 views

.docker : how to deploy Digital Experience in a container drinking a cup of coffee

  • 1. .docker : how to deploy Digital Experience in a container drinking a cup of coffee Matteo Bisi – Andrea Fontana
  • 2. About us 2 • Matteo Bisi – System Engineer • IBM Champion Social Business 2014,15, 16 • Blogger – www.msbiro.net, blog.msbiro.net • Social: @mbisi78 https://it.linkedin.com/in/matteobisi matteo.bisi@factor-y.com
  • 3. About us 3 • Andrea Fontana – CTO • IBM Champion Social Business 2015,16 • IBM Champion for WebSphere 2012,13,14 • IBM Advocate since 2012 • Blogger – razioni-k.net2action.com • Social: @net2action https://it.linkedin.com/in/afontana a.fontana@sowre.com SAP DEVELOPER BUSINESS PARTNER
  • 4. Docker + IBM Social Software What and why 4
  • 5. Docker • Docker is an open platform for developing, shipping, and running applications. • Docker is designed to deliver your applications faster. • With Docker you can separate your applications from your infrastructure and treat your infrastructure like a managed application. 5
  • 6. Docker and containers in a few slides Docker is a way to “package” your software in an image:  File system  System security (user/groups) & settings  TCP Network (ports that needs to be reachable)  Image inheritance is possible (incremental specialization) Docker is a way to “ship & run” your software to other systems: • Start an “image” to get a container where your software runs • Manage containers (start/stop/control etc) • The container runs regardless of the actual (underlying) system (VM, bare metal, etc) 6
  • 7. Docker History • Docker was released as open source in March 2013 • Solomon Hykes started Docker in France as an internal project within dotCloud, a platform- as-a-service company, with initial contributions by other dotCloud engineers including Andrea Luzzardi and Francois-Xavier Bourlet. • with the release of version 0.9, Docker dropped LXC as the default execution environment and replaced it with its own libcontainer library written in the Go programming language. (Google’s OpenSource Programming Language ) • In 2015, the project had over 25,600 GitHub, over 6,800 forks, and nearly 1,100 contributors. • In May 2016 analysis showed the following organizations as main contributors to Docker: The Docker team, Cisco, Google, Huawei, IBM, Microsoft, and Red Hat. 7
  • 8. The underlying technology Namespaces • Pod: pid isolation • Net: network interface • Ipc: interProcess Communication • Mnt: managing mount point • Uts: isolating kernel and version identifier Control groups limits and isolates the resource usage of a collection of processes Union File Systems operate by creating layers very lightweight and fast CONTAINER (libcontainer) 8
  • 9. Docker keys components 9 • Docker engine • Docker machine • Docker registry
  • 10. Docker Engine Docker Engine is a client-server application with these major components: • A server which is a type of long-running program called a daemon process. • A REST API which specifies interfaces that programs can use to talk to the daemon and instruct it what to do. • A command line interface (CLI) client. 10
  • 11. Docker Machine • Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage the hosts with docker-machine commands. • You can use Machine to create Docker hosts on your local Mac or Windows box, on your company network, in your data center, or on cloud providers like AWS or Digital Ocean. 11
  • 12. Docker registry The registry is a server application that lets you distribute Docker images. https://hub.docker.com/explore/ 12https://hub.docker.com/u/ibmcom/
  • 13. Docker registry… On-premises Docker hub free-to-use, hosted Registry, plus additional features (organization accounts, automated builds, and more). 13
  • 14. Docker registry… On-premises Running your own Registry is a great solution to integrate with your CI/CD system. (Continuous Integration/Delivery) A notification from the Registry would then trigger to notify other systems that a new image is available. It’s also an essential component if you want to quickly deploy a new image over a large cluster of machines. Finally, it’s the best way to distribute images inside an isolated network. 14
  • 15. Availability • Linux • Windows • Mac • Aws • Azure • Bluemix • … Docker’s architecture Docker uses a client-server architecture ! The same image can run on your laptop, on your server, on your cloud 15
  • 16. HA is also available Starting from version 1.12 Docker swarm was integrated into Docker Engine in swarm mode: Highlights: • Cluster management integrated with Docker Engine • Multi-host networking • Load balancing • Secure by default (TLS stricly enforced for communications) • Scaling 16
  • 17. Why Docker Create images to support developers (standard deployment) Keep an archive of images for every software release to perform back-version debugging/testing (start a clean server in minutes) Consolidate multiple servers on a single powerful machine but maintain complete isolation 17
  • 18. Container vs Virtual Machine Virtual machine runs a dedicated operating system. Each VM has its own binaries/libraries and application(s) that it services, and the VM may be many gigabytes in size Each container shares the host OS kernel and, usually, the binaries and libraries, too. Shared components are read-only This makes containers exceptionally “light” – containers are only megabytes in size and take just seconds to start, versus minutes for a VM 18
  • 19. Yours Containers can be shipped!19
  • 21. IBM announces zSystem for Docker Download here: http://www.ibm.com/developerworks/linux/linux390/docker.html IBM and Docker offer integrated container solutions that can meet the diverse needs of enterprises. Supporting the creation and deployment of multi-platform, multi-container workloads across hybrid infrastructures, IBM and Docker accelerate application delivery and enable application lifecycle management for Dockerized containers. 21
  • 22. IBM announces Docker on IBM PureApplication System The good news is that Docker is now supported on IBM PureApplication v2.1! You can now use Docker containers in the virtual system patterns that you create and you can reference Docker images that are stored on Docker Hub or in a private Docker registry that runs inside PureApplication. Taking advantage of the Docker containers on PureApplication is as easy as building patterns. 22
  • 23. IBM Bluemix • IBM Bluemix provides built in DevOps services to manage source code and to build, test and deploy applications to Bluemix. • For more complex scenarios IBM provides the Continuous Delivery toolset UrbanCode to deploy hybrid applications to the cloud and on-premises and to deploy composite applications with multiple components or microservices. • The store application uses one container on Bluemix . Containers running in a Docker Swarm cluster on-premises. Does anyone know this guy? http://heidloff.net/article/11.11.2015100203NHECLU.htm He is Niklas Heidloff, Developer Advocate for IBM Bluemix, working on Docker on Bluemix Environment. 23
  • 25. IBM sw supported 25 • Db2 from 10.1 10.5 , 11.1 • DB2 express * • Websphere Application Server 8.5.5 and 9.0 • Websphere Liberty profiles * • Domino is not supported (yet..) • Digital experience is not supported (yet..) Offical images available on docker hub
  • 26. How To: Create Docker images with IBM Social Software 26
  • 27. Prepare your Container • Prepare the Installation script • Using Silent installation method • Preparing the response file and whatever you need to complete setup • Create your Docker File and deploy it. 27
  • 28. Docker Image A docker image is a read-only template for creating containers. • Manual: Start from a base image, build your customization and commit the new image. • DockerFile: Use a script. DockerFile anatomy A “DockerFile” is a text file with docker commands, it • Declares the “base image” to inherit from • Copies files to the image filesystem • Executes commands in the image to setup things • Declares “VOLUME” mappings • Declares ports to “EXPOSE”d. 28
  • 29. Docker File Anatomy Identifies which folder you need to share between container and host Identifies which image you want to use Identifies which command you need to execute inside the containers FROM ubuntu:latest VOLUME [/opt/data] VOLUME [/etc] VOLUME [/home] RUN apt-get install -y aptitude net-tools libxtst6 libxi6 libcanberra-gtk3 gtk+ COPY DB2_Svr_10.5.0.3_Linux_x86-64.tar.gz /tmp/db210.5/ Copy your Packages into the containers 29
  • 30. Prepare IBM Silent Installation You can use the IBM installation manager from command line, and create your response file sample! IBMIM –record /tmp/was9.xml -skipInstall /tmp/IBM/ <?xml version='1.0' encoding='UTF-8'?> <agent-input> <variables> <variable name='sharedLocation' value='/opt/ibm/IMShared'/> </variables> <server> <repository location='/tmp/sw-repo/WAS_ND_9'/> <repository location='/tmp/sw-repo/SDK_JAVA_V8'/> </server> <profile id='IBM WebSphere Application Server V9.0' installLocation='/opt/ibm/WebSphere/AppServer'> <data key='cic.selector.arch' value='x86_64'/> <data key='cic.selector.nl' value='en,en'/> </profile> <install> <!-- IBM WebSphere Application Server Network Deployment 9.0.0.0 --> <offering profile='IBM WebSphere Application Server V9.0' id='com.ibm.websphere.ND.v90' version='9.0.0.20160526_1854' features='core.feature,ejbdeploy,thinclient,embeddablecontainer'/> <!-- IBM SDK, Java Technology Edition, Versione 8 8.0.3.0 --> <offering profile='IBM WebSphere Application Server V9.0' id='com.ibm.java.jdk.v8' version='8.0.3000.20160526_1317' features='com.ibm.sdk.8'/> </install> 30
  • 31. /opt/ibm/im/eclipse/tools/imcl input /tmp/was9.xml -acceptLicense Ready to go? imcl install packageID[_version][,featureID] -repositories source_repository -installationDirectory installation_directory -accessRights mode We can use our response file Install from command line 31
  • 32. Was9 Docker File # Select the base image to inherit from FROM ubuntu:latest # Image description LABEL Description="WebSphere 9, HTTP 9, Plugin 9" Vendor="MSBIRO.NET" Version="1.0" # Execute unix command COPY sw-repo/* /tmp/sw-repo/ RUN apt-get update && apt-get install vim –y RUN apt-get install -y vim psmisc 32
  • 33. RUN /tmp/sw-repo/IM185_LNX64/installc -log log_file -acceptLicense -installationDirectory /opt/ibm/im/ RUN /opt/ibm/im/eclipse/tools/imcl input /tmp/sw-repo/RESPONSE/was9.xml -acceptLicense RUN /opt/ibm/im/eclipse/tools/imcl input /tmp/sw-repo/RESPONSE/was9supp.xml –acceptLicense RUN echo $(head -1 /etc/hosts | cut -f1) dmgr.ondemand.com >> /etc/hosts && /opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -response /tmp/sw-repo/RESPONSE/dmgr RUN echo $(head -1 /etc/hosts | cut -f1) dmgr.ondemand.com >> /etc/hosts && /opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -response /tmp/sw-repo/RESPONSE/appsrv01 Was9 Docker File 33
  • 34. Was9 Image RUN /opt/ibm/WebSphere/AppServer/bin/wasservice.sh -add docker-DMGR -servername dmgr -profilePath /opt/ibm/WebSphere/AppServer/profiles/Dmgr01/ -stopArgs ‘-username waslocal -password docker' RUN /opt/ibm/WebSphere/AppServer/bin/wasservice.sh -add docker-NA -servername nodeagent -profilePath /opt/ibm/WebSphere/AppServer/profiles/AppSrv01/ -stopArgs '-username waslocal -password docker -stopservers‘ RUN mkdir /var/lock/subsys # Volume definition VOLUME ["/opt/ibm/WebSphere/AppServer"] # port exposed to external world EXPOSE 80 443 9060 9043 RUN rm /tmp/sw-repo -R A data volume is a specially-designated directory within one or more containers that bypasses the Union File System. Data volumes provide several useful features for persistent or shared data: Volumes are initialized when a container is created. Data volumes can be shared and reused among containers. Changes to a data volume are made directly. Changes to a data volume will not be included when you update an image. Data volumes persist even if the container itself is deleted. Data volumes are designed to persist data, independent of the life cycle of the container. The EXPOSE instruction informs Docker that the container listens on the specified network ports at runtime 34
  • 37. LinksDocker training – online video course https://training.docker.com/self-paced-training IBM Installation Manager resources http://tinyurl.com/ibm-im-command-line-arg http://tinyurl.com/ibm-im-record-response DB2 and docker some suggestion from IBM http://tinyurl.com/db2-and-docker-from-ibm Docker and Domino http://tinyurl.com/domino-container-docker 37