August Penguin 2016
DOCKER
For Java Developers
Ala Hino
Senior Software Engineer
ahino@redhat.com
www.linkedin.com/in/alahino
Who Am I?
Test
Test
●
●
●My name is Ala
●I am a Senior Software Engineer @ Red Hat
●I work on oVirt and on RHV (previously known as RHEV)
At the end of this session, you will:
Test
Test
●
●
●Understand what Docker is, in general
●Understand how to run a Java application inside a container
●Underdstand advantages of Docker
●
Test
Test
●
●
●
●Once upon a time ...
●
What is Docker?
Test
Test
●From Docker website:
●
●
* https://www.docker.com/what-docker
** https://medium.freecodecamp.com/a-beginner-friendly-introduction-to-containers-vms-and-docker-
79a9e3e119b#.tm4j9hsmf
PACKAGE YOUR APPLICATION INTO A STANDARDIZED UNIT FOR SOFTWARE
DEVELOPMENT*
Docker containers wrap a piece of software in a complete filesystem that contains everything needed
to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This
guarantees that the software will always run the same, regardless of its environment*
LIGHTWEIGHT
Containers running on a single machine
share the same operating system
kernel; they start instantly and use less
RAM. Images are constructed from
layered filesystems and share common
files, making disk usage and image
downloads much more efficient*
OPEN
Docker containers are based on open
standards, enabling containers to run on
all major Linux distributions and on
Microsoft Windows -- and on top of any
infrastructure
SECURE BY DEFAULT
Containers isolate applications from one
another and the underlying
infrastructure, while providing an added
layer of protection for the application*
- an open source project to pack, ship and run any application as a lightweight container
- provides os-level virtualization
- lightweight, easy of use, docker hub
Unlike a VM which provides hardware
virtualization, a container provides
operating-system-level virtualization by
abstracting the “user space”. You’ll see
what I mean as we unpack the term
container**
I am a Java developer, what do I need to know?
Image: defines the application dependencies and how it is packaged. This is done
using a Dockerfile
Container: the “box” that wraps the application providing everything the application
needs to run
Docker hub: the public Docker registry. The repository where images are published
From a Java app to a Docker image
Test
Test
●
●
● 1. Prepare your Java app
1.2. Prepare Dockerfile
2.3. Build the image
3.4. Run & test
4.5. Publish the image
1)
1. My Java App
package august.penguin.yr16;
public class HelloWorld {
    public static void main(String... args) {
        System.out.println("Hello, World. I am an app inside a container!!!");
    }
}
2. Dockerfile
FROM maven:latest
COPY src /usr/aug-penguin/src
COPY pom.xml /usr/aug-penguin/pom.xml
WORKDIR /usr/aug-penguin
RUN mvn clean install
ENTRYPOINT ["java", "-cp", "/usr/aug-penguin/target/classes/", "august.penguin.yr16.HelloWorld"]
3. Building the image
$ docker build -t ahino/hello-world .
Sending build context to Docker daemon 68.61 kB
Step 0 : FROM maven:latest
---> e674c9bf6d88
Step 1 : COPY src /usr/aug-penguin/src
---> Using cache
---> 18b079e74156
Step 2 : COPY pom.xml /usr/aug-penguin/pom.xml
---> Using cache
---> b0d852d66049
Step 3 : WORKDIR /usr/aug-penguin
---> Using cache
---> 2bb642181d04
Step 4 : RUN mvn clean install
---> Using cache
---> 055cd9eac639
Step 5 : ENTRYPOINT java -cp /usr/aug-penguin/target/classes/ august.penguin.yr16.HelloWorld
---> Using cache
---> 39929150bd68
Successfully built 39929150bd68
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ahino/hello-world latest 5d486d674197 2 hours ago 786.6 MB
4. Running the image
$ time docker run -t ahino/hello-world
Hello, World. I am an app inside a container!!!
real 0m0.706s
user 0m0.013s
sys 0m0.015s
5. Pushing the app to Docker hub
$ docker push ahino/hello-world
5d486d674197: Pushed
89543c931cc0: Pushed
…
latest: digest: sha256:5477f4f9b93ee0773723210418044b9a2219480eb82928c434de4eceb5e4f1b1
size: 48275
Nice, but ...
What's the catch ...
My first Docker use case
There is no bug here ...
Aug penguin16
Aug penguin16
2016-08-02 23:07:52,235 ERROR [org.ovirt.otopi.dialog.MachineDialogParser] (VdsDeploy) [6003e682] Cannot parse input:
java.lang.RuntimeException: Invalid data recieved during bootstrap
at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:370) [otopi.jar:]
at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:405) [otopi.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase._threadMain(VdsDeployBase.java:304) [bll.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase.access$800(VdsDeployBase.java:45) [bll.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase$12.run(VdsDeployBase.java:386) [bll.jar:]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91]
2016-08-02 23:07:52,237 ERROR [org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase] (VdsDeploy) [6003e682] Error during deploy
dialog: java.lang.RuntimeException: Invalid data recieved during bootstrap
at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:370) [otopi.jar:]
at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:405) [otopi.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase._threadMain(VdsDeployBase.java:304) [bll.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase.access$800(VdsDeployBase.java:45) [bll.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase$12.run(VdsDeployBase.java:386) [bll.jar:]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91]
2016-08-02 23:07:52,243 ERROR [org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase] (org.ovirt.thread.pool-9-thread-3) [6003e682]
Error during host rich-el72-host01.usersys.redhat.com install: java.lang.RuntimeException: Invalid data recieved during bootstrap
at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:370) [otopi.jar:]
at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:405) [otopi.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase._threadMain(VdsDeployBase.java:304) [bll.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase.access$800(VdsDeployBase.java:45) [bll.jar:]
at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase$12.run(VdsDeployBase.java:386) [bll.jar:]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91]
Docker to the rescue
$ docker run ­t ovirt­engine:3.6.3
My second Docker use case
I want to improve logging performance ...
Let's Improve Performance (?)
slf4j 1.7.5
PERFORMANCE IMPROVEMENTS The logger factories in most SLF4J modules
namely in jcl-over-slf4j, log4j-over-slf4j, slf4j-jcl, slf4j-jdk14, slf4j-log4j12, and slf4j-
simple now use a ConcurrentHashMap instead of a regular HashMap to cache
logger instances. This change significantly improves logger retrieval times at the cost
of some memory overhead. This improvement was requested in bug #298 by Taras
Tielkes who also provided the relevant patch*
* http://www.slf4j.org/news.html
What went wrong?
In my development environment, I build the project using Maven.
pom.xml
In QA environment, they install RPMs.
ovirt-engine.spec.in
...
<slf4j.version>1.7.5</slf4j.version>
...
...
Requires:   slf4j >= 1.7.0
...
slf4j 1.7.20
Releases 1.7.19 and 1.7.20 suffer from a memory leak. Please use version 1.7.21 or
later instead.
Fixed initialization problem encountered on the Google App Engine platform with
SLF4J version 1.7.19 but not other versions. The problem was reported in SLF4J-
363 by Osvaldo Pinali Doederlein
Docker to the rescue
1. <update pom.xml>
2. $ docker build -t ovirt-engine:slf4j1.7.5
3. <run & test>
4. $ docker push -t ovirt-engine:slf4j1.7.5
More Docker usages
Running applications is isolated and simpler
E.g.
●- Java applications that use different Java versions
●- Web apps that run on different Tomcat versions
Q&A
Thank you!

More Related Content

PPT
An introduction to maven gradle and sbt
PDF
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
PDF
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
PDF
Gradle - time for a new build
PDF
An Introduction to Gradle for Java Developers
PDF
Gradle - the Enterprise Automation Tool
KEY
うさぎ組 in G* WorkShop -うさみみの日常-
An introduction to maven gradle and sbt
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
Gradle build tool that rocks with DSL JavaOne India 4th May 2012
Gradle - time for a new build
An Introduction to Gradle for Java Developers
Gradle - the Enterprise Automation Tool
うさぎ組 in G* WorkShop -うさみみの日常-

What's hot (20)

PDF
Managing dependencies with gradle
PDF
Gradle Introduction
ODP
Gradle - time for another build
PDF
Gradle talk, Javarsovia 2010
PDF
Ship your Scala code often and easy with Docker
ODP
Unit Test Android Without Going Bald
PDF
In the Brain of Hans Dockter: Gradle
PDF
Testing with PostgreSQL
PDF
Continous delivery with sbt
PDF
NetBeans Support for EcmaScript 6
PDF
Gradle in 45min
PPTX
Gradle,the new build system for android
PDF
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...
PDF
淺談 Groovy 與 AWS 雲端應用開發整合
PDF
Gradle - Build system evolved
PDF
How to integrate front end tool via gruntjs
PDF
Scala and Play with Gradle
PDF
Simple Build Tool
PPTX
Async task, threads, pools, and executors oh my!
PDF
Gradle como alternativa a maven
Managing dependencies with gradle
Gradle Introduction
Gradle - time for another build
Gradle talk, Javarsovia 2010
Ship your Scala code often and easy with Docker
Unit Test Android Without Going Bald
In the Brain of Hans Dockter: Gradle
Testing with PostgreSQL
Continous delivery with sbt
NetBeans Support for EcmaScript 6
Gradle in 45min
Gradle,the new build system for android
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...
淺談 Groovy 與 AWS 雲端應用開發整合
Gradle - Build system evolved
How to integrate front end tool via gruntjs
Scala and Play with Gradle
Simple Build Tool
Async task, threads, pools, and executors oh my!
Gradle como alternativa a maven
Ad

Similar to Aug penguin16 (20)

PDF
Scala, docker and testing, oh my! mario camou
PDF
DCSF 19 Building Your Development Pipeline
PDF
Vagrant or docker for java dev environment
PPTX
Introduction to JIB and Google Cloud Run
PDF
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
PDF
Java in a World of Containers - DockerCon 2018
PDF
Java in a world of containers
PDF
Developing with-devstack
PDF
Test your modules
PDF
Java REST API Framework Comparison - UberConf 2021
PDF
Cannibalising The Google App Engine
PPTX
OWASP ZAP Workshop for QA Testers
PDF
Creating Scalable JVM/Java Apps on Heroku
PDF
Deliver Python Apps with Docker
PDF
Java REST API Framework Comparison - PWX 2021
PDF
[Szjug] Docker. Does it matter for java developer?
PDF
Minimum Viable Docker: our journey towards orchestration
PDF
Writing Android Libraries
PDF
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
PDF
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Scala, docker and testing, oh my! mario camou
DCSF 19 Building Your Development Pipeline
Vagrant or docker for java dev environment
Introduction to JIB and Google Cloud Run
Webinar: Creating an Effective Docker Build Pipeline for Java Apps
Java in a World of Containers - DockerCon 2018
Java in a world of containers
Developing with-devstack
Test your modules
Java REST API Framework Comparison - UberConf 2021
Cannibalising The Google App Engine
OWASP ZAP Workshop for QA Testers
Creating Scalable JVM/Java Apps on Heroku
Deliver Python Apps with Docker
Java REST API Framework Comparison - PWX 2021
[Szjug] Docker. Does it matter for java developer?
Minimum Viable Docker: our journey towards orchestration
Writing Android Libraries
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Ad

Recently uploaded (20)

PDF
Lumion Pro Crack New latest version Download 2025
PPTX
Lesson-3-Operation-System-Support.pptx-I
PPTX
Human Computer Interaction lecture Chapter 2.pptx
PDF
IT Consulting Services to Secure Future Growth
PPTX
Foundations of Marketo Engage: Nurturing
PDF
infoteam HELLAS company profile 2025 presentation
PPT
3.Software Design for software engineering
PDF
Sanket Mhaiskar Resume - Senior Software Engineer (Backend, AI)
PDF
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
PPTX
ERP Manufacturing Modules & Consulting Solutions : Contetra Pvt Ltd
PPTX
Lecture 5 Software Requirement Engineering
PDF
CapCut PRO for PC Crack New Download (Fully Activated 2025)
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
PPTX
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
PDF
Website Design & Development_ Professional Web Design Services.pdf
PDF
Workplace Software and Skills - OpenStax
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPTX
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
PDF
AI-Powered Fuzz Testing: The Future of QA
PPTX
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
Lumion Pro Crack New latest version Download 2025
Lesson-3-Operation-System-Support.pptx-I
Human Computer Interaction lecture Chapter 2.pptx
IT Consulting Services to Secure Future Growth
Foundations of Marketo Engage: Nurturing
infoteam HELLAS company profile 2025 presentation
3.Software Design for software engineering
Sanket Mhaiskar Resume - Senior Software Engineer (Backend, AI)
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
ERP Manufacturing Modules & Consulting Solutions : Contetra Pvt Ltd
Lecture 5 Software Requirement Engineering
CapCut PRO for PC Crack New Download (Fully Activated 2025)
ROI from Efficient Content & Campaign Management in the Digital Media Industry
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
Website Design & Development_ Professional Web Design Services.pdf
Workplace Software and Skills - OpenStax
What Makes a Great Data Visualization Consulting Service.pdf
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
AI-Powered Fuzz Testing: The Future of QA
Bandicam Screen Recorder 8.2.1 Build 2529 Crack

Aug penguin16

  • 1. August Penguin 2016 DOCKER For Java Developers Ala Hino Senior Software Engineer [email protected] www.linkedin.com/in/alahino
  • 2. Who Am I? Test Test ● ● ●My name is Ala ●I am a Senior Software Engineer @ Red Hat ●I work on oVirt and on RHV (previously known as RHEV)
  • 3. At the end of this session, you will: Test Test ● ● ●Understand what Docker is, in general ●Understand how to run a Java application inside a container ●Underdstand advantages of Docker ●
  • 5. What is Docker? Test Test ●From Docker website: ● ● * https://www.docker.com/what-docker ** https://medium.freecodecamp.com/a-beginner-friendly-introduction-to-containers-vms-and-docker- 79a9e3e119b#.tm4j9hsmf PACKAGE YOUR APPLICATION INTO A STANDARDIZED UNIT FOR SOFTWARE DEVELOPMENT* Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment* LIGHTWEIGHT Containers running on a single machine share the same operating system kernel; they start instantly and use less RAM. Images are constructed from layered filesystems and share common files, making disk usage and image downloads much more efficient* OPEN Docker containers are based on open standards, enabling containers to run on all major Linux distributions and on Microsoft Windows -- and on top of any infrastructure SECURE BY DEFAULT Containers isolate applications from one another and the underlying infrastructure, while providing an added layer of protection for the application* - an open source project to pack, ship and run any application as a lightweight container - provides os-level virtualization - lightweight, easy of use, docker hub Unlike a VM which provides hardware virtualization, a container provides operating-system-level virtualization by abstracting the “user space”. You’ll see what I mean as we unpack the term container**
  • 6. I am a Java developer, what do I need to know? Image: defines the application dependencies and how it is packaged. This is done using a Dockerfile Container: the “box” that wraps the application providing everything the application needs to run Docker hub: the public Docker registry. The repository where images are published
  • 7. From a Java app to a Docker image Test Test ● ● ● 1. Prepare your Java app 1.2. Prepare Dockerfile 2.3. Build the image 3.4. Run & test 4.5. Publish the image 1)
  • 8. 1. My Java App package august.penguin.yr16; public class HelloWorld {     public static void main(String... args) {         System.out.println("Hello, World. I am an app inside a container!!!");     } }
  • 9. 2. Dockerfile FROM maven:latest COPY src /usr/aug-penguin/src COPY pom.xml /usr/aug-penguin/pom.xml WORKDIR /usr/aug-penguin RUN mvn clean install ENTRYPOINT ["java", "-cp", "/usr/aug-penguin/target/classes/", "august.penguin.yr16.HelloWorld"]
  • 10. 3. Building the image $ docker build -t ahino/hello-world . Sending build context to Docker daemon 68.61 kB Step 0 : FROM maven:latest ---> e674c9bf6d88 Step 1 : COPY src /usr/aug-penguin/src ---> Using cache ---> 18b079e74156 Step 2 : COPY pom.xml /usr/aug-penguin/pom.xml ---> Using cache ---> b0d852d66049 Step 3 : WORKDIR /usr/aug-penguin ---> Using cache ---> 2bb642181d04 Step 4 : RUN mvn clean install ---> Using cache ---> 055cd9eac639 Step 5 : ENTRYPOINT java -cp /usr/aug-penguin/target/classes/ august.penguin.yr16.HelloWorld ---> Using cache ---> 39929150bd68 Successfully built 39929150bd68 $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ahino/hello-world latest 5d486d674197 2 hours ago 786.6 MB
  • 11. 4. Running the image $ time docker run -t ahino/hello-world Hello, World. I am an app inside a container!!! real 0m0.706s user 0m0.013s sys 0m0.015s
  • 12. 5. Pushing the app to Docker hub $ docker push ahino/hello-world 5d486d674197: Pushed 89543c931cc0: Pushed … latest: digest: sha256:5477f4f9b93ee0773723210418044b9a2219480eb82928c434de4eceb5e4f1b1 size: 48275
  • 13. Nice, but ... What's the catch ...
  • 14. My first Docker use case There is no bug here ...
  • 17. 2016-08-02 23:07:52,235 ERROR [org.ovirt.otopi.dialog.MachineDialogParser] (VdsDeploy) [6003e682] Cannot parse input: java.lang.RuntimeException: Invalid data recieved during bootstrap at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:370) [otopi.jar:] at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:405) [otopi.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase._threadMain(VdsDeployBase.java:304) [bll.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase.access$800(VdsDeployBase.java:45) [bll.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase$12.run(VdsDeployBase.java:386) [bll.jar:] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91] 2016-08-02 23:07:52,237 ERROR [org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase] (VdsDeploy) [6003e682] Error during deploy dialog: java.lang.RuntimeException: Invalid data recieved during bootstrap at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:370) [otopi.jar:] at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:405) [otopi.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase._threadMain(VdsDeployBase.java:304) [bll.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase.access$800(VdsDeployBase.java:45) [bll.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase$12.run(VdsDeployBase.java:386) [bll.jar:] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91] 2016-08-02 23:07:52,243 ERROR [org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase] (org.ovirt.thread.pool-9-thread-3) [6003e682] Error during host rich-el72-host01.usersys.redhat.com install: java.lang.RuntimeException: Invalid data recieved during bootstrap at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:370) [otopi.jar:] at org.ovirt.otopi.dialog.MachineDialogParser.nextEvent(MachineDialogParser.java:405) [otopi.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase._threadMain(VdsDeployBase.java:304) [bll.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase.access$800(VdsDeployBase.java:45) [bll.jar:] at org.ovirt.engine.core.bll.hostdeploy.VdsDeployBase$12.run(VdsDeployBase.java:386) [bll.jar:] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_91]
  • 18. Docker to the rescue $ docker run ­t ovirt­engine:3.6.3
  • 19. My second Docker use case I want to improve logging performance ...
  • 20. Let's Improve Performance (?) slf4j 1.7.5 PERFORMANCE IMPROVEMENTS The logger factories in most SLF4J modules namely in jcl-over-slf4j, log4j-over-slf4j, slf4j-jcl, slf4j-jdk14, slf4j-log4j12, and slf4j- simple now use a ConcurrentHashMap instead of a regular HashMap to cache logger instances. This change significantly improves logger retrieval times at the cost of some memory overhead. This improvement was requested in bug #298 by Taras Tielkes who also provided the relevant patch* * http://www.slf4j.org/news.html
  • 21. What went wrong? In my development environment, I build the project using Maven. pom.xml In QA environment, they install RPMs. ovirt-engine.spec.in ... <slf4j.version>1.7.5</slf4j.version> ... ... Requires:   slf4j >= 1.7.0 ...
  • 22. slf4j 1.7.20 Releases 1.7.19 and 1.7.20 suffer from a memory leak. Please use version 1.7.21 or later instead. Fixed initialization problem encountered on the Google App Engine platform with SLF4J version 1.7.19 but not other versions. The problem was reported in SLF4J- 363 by Osvaldo Pinali Doederlein
  • 23. Docker to the rescue 1. <update pom.xml> 2. $ docker build -t ovirt-engine:slf4j1.7.5 3. <run & test> 4. $ docker push -t ovirt-engine:slf4j1.7.5
  • 24. More Docker usages Running applications is isolated and simpler E.g. ●- Java applications that use different Java versions ●- Web apps that run on different Tomcat versions
  • 25. Q&A

Editor's Notes

  • #2: Welcome to Red Hat Cloud Tour. Thank audience for attending cloud tour.