Tecnologias Oracle em Docker Containers On-premise e na Nuvem

59
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Tecnologias Oracle em Docker Containers: On- premise e Cloud SES12234 Bruno Borges Principal Product Manager Oracle Cloud

Transcript of Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Page 1: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Tecnologias Oracle em Docker Containers: On-premise e CloudSES12234

Bruno BorgesPrincipal Product ManagerOracle Cloud

Page 2: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | @brunoborges

•Bruno Borges–Product Manager / Developer Advocate–Oracle Cloud

–Twitter: @brunoborges

Speaker

Page 3: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor StatementThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 4: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Program Agenda

Docker Overview

Strategy and Positioning

Docker on Oracle Cloud

Oracle Technology on Docker

Extras

1

2

3

4

5

Page 5: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Program Agenda

Docker Overview

Strategy and Positioning

Docker on Oracle Cloud

Oracle Technology on Docker

Extras

1

2

3

4

5

Page 6: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

What is Docker?And why should we care?

Page 7: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Page 8: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Page 9: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Page 10: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

• Developers care because:– Quickly create ready-to-run packaged

applications– A clean, safe, hygienic, portable runtime

environment– No missing/conflicting dependencies or

packages– Each app runs in an isolated container– Automate testing, integration, packaging– Reduce/eliminate platform compatibility

issues– Cheap/zero cost deployment, with instant

replay and reset

• Administrators care because:– Configure once, run many times– Makes app lifecycle efficient, consistent

and repeatable– Eliminate environment inconsistencies

between development, test, production– Supports segregation of duties– Improve speed and reliability of

continuous integration and deployment– Lightweight containers address

performance, costs, deployment and portability issues

So Why IT Cares About Docker? Why Adopt It?

Page 11: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

What are the Benefits and Use Cases with Docker?• Benefits

– Using containers allows developers and sysadmins to isolate each application, providing specific dependencies for each application

– Docker containers are tiny; they are designed to run a single application– Docker combines filesystem layers to improve re-use between containers– Cost savings on conventional virtualization due to greater density using containers

• Spin off isolated infrastructures/processes within same VM. Better consumption of resources.

• Use Cases– Application Deployment without “dependency hell” of multiple applications– Continuous Integration– Platform-as-a-Service (PaaS)– Development and Test Environment

Page 12: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

How does Docker works?

Page 13: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Docker

Comparing Docker against LXC and Hypervisors

Hardware Hardware Hardware Hardware

Hypervisor Operating System Operating System Operating System

HypervisorVM 0

OS

bins/libs

apps

VM 1

OS

bins/libs

apps

VM 0OS

bins/libs

apps

VM 1

OS

bins/libs

apps

bins/libsContainer0

bins/libs

apps

Container1

apps

bins/libs

Container0

bins/libs

apps

Container1

apps

Hypervisor Type1 Hypervisor Type2 LXC Docker

CLI REST Dockerfile

volumes

Page 14: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Docker Architecture 101• Docker Client talks to

Docker Daemon• Client can run on a

same machine or connect remotely

• Docker Registries or Hubs hold images

Page 15: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Declaratively Build Containers Using Dockerfiles

# Pull from base image of Oracle Linux and install pkgs FROM oraclelinux:7

RUN yum install -y unzip java-1.7.0-openjdk-headless

RUN yum clean all

# Download and extract GlassFish RUN curl -O -L http://bit.ly/glassfish-4_1_zip

RUN unzip glassfish-4_1_zip

# Default CMD upon container execution CMD /glassfish4/bin/asadmin

Page 16: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Building a container image

[bruno@orcl:~/gf-docker]$ sudo docker build -t glassfish:4.1 –f Dockerfile . Sending build context to Docker daemon Step 0 : FROM oraclelinux:7.0 ---> 5f1be1559ccf Step 1 : RUN yum install -y unzip java-1.7.0-openjdk-headles ---> Running in 7b1583feb2bc Step 2 : RUN curl –O –L http://bit.ly/glassfish-4_1_zip ---> 4abe64ef7934 Step 3 : RUN unzip glassfish-4_1_zip ---> 1ac729d9809a Step 4 : CMD /glassfish4/bin/asadmin ---> Running in 6aab421a83ff Successfully built 8f1106a1d7d0

Page 17: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Creating and running a container

[bruno@orcl:~]$ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE glassfish 4.1 8f1106a1d7d0 3 minutes ago 1.081 GB [bruno@orcl:~]$ sudo docker run -ti glassfish:4.1 Use "exit" to exit and "help" for online help. asadmin> start-domain Waiting for domain1 to start ..... Successfully started the domain : domain1 domain Location: /root/glassfish4/glassfish/domains/domain1 Admin Port: 4848 Command start-domain executed successfully. asadmin>

Page 18: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Accessing a service/application running within a container

[bruno@orcl:~]$ sudo docker ps CONTAINER ID IMAGE CREATED STATUS

9ebf7544f8e9 glassfish:4.1 3 minutes ago Up 3 minutes

[bruno@orcl:~]$ sudo docker inspect 9ebf7544f8e9 | grep IPAddress "IPAddress": "172.17.0.8",

[bruno@orcl:~]$ firefox http://172.17.0.8:4848 [bruno@orcl:~]$ ifconfig docker0 docker0 Link encap:Ethernet HWaddr 56:84:7a:fe:97:99 inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0

Page 19: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

One Application Instance Per Container

• Running multiple instances of the same application or different applications will make scheduling very difficult

• Expose very few ports per container (preferably one)

Physical Host

Operating System

Container

App

Container

App

Just One Per Container

Page 20: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Docker Ecosystem

Page 21: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Docker Hub

Docker Swarm

Docker Compose

Docker Machine

Docker Cloud

Docker Registry

Docker Datacenter

Page 22: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Page 23: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Program Agenda

Docker Overview

Strategy and Positioning

Docker on Oracle Cloud

Oracle Technology on Docker

Extras

1

2

3

4

5

Page 24: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle Docker Support Enables Customers to Keep Investments on Our Products While Moving Forward with a New Trend

Page 25: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle joined OCI – Open Container Initiative• Governance structure for the

express purpose of creating industry standards around container formats and runtime.

• Customers can commit to container technologies w/o worrying on being locked up.

• Oracle joined in 2015.– blogs.oracle.com/solaris/entry/

oracle_joins_the_open_container

Page 26: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Containers Are The New Virtualization TrendFour main use cases

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Hardware

Operating System

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

ContainerApp

Application Packaging

Continuous Integration DIY PaaS

Infrastructure Consolidation

Neatly package applications and supporting environment in immutable, portable containers

All changes to an app are contained in one immutable container image. Container is tested and deployed as one atomic unit

Get infrastructure utilization up to 100% (vs 5-10% with VMs) due to over-subscription of resources and near bare metal performance.

Build a simple PaaS by wiring up containers to a load balancer. New code, patches, etc pushed as new immutable containers.

Page 27: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Stop Manually Fixing ProblemsIn no case should an administrator fix issues by hand. Should be 100% automated

Auto-scaling will automatically launch a new container on new hardware as load dictates

Hardware FailureExample: motherboard failed

Auto-scaling will automatically launch new containers as load dictates

Network FailureExample: switch failed

Health checking should fail and the container will be culled. Auto-scaling will automatically launch a new container as load dictates

System Software FailureExample: kernel panic

Application Software FailureExample: bad file permissions

Fix the source (your application, your container, your Dockerfile, etc) and re-deploy your entire application

Page 28: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Economical Incentives• Containers let customers isolate environments, processes, applications,

within the same hardware or VM without having to create another VM.• It helps reduce virtualization costs• Increased density• Speeds delivery of packaged solutions

– Container images are much smaller than traditional VMs images. – Full Guest OS is not needed.

• Speeds development cycle– Onboarding new developers is much faster with predefined development environments

Page 29: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Program Agenda

Docker Overview

Strategy and Positioning

Docker and Oracle Cloud

Oracle Technology on Docker

Extras

1

2

3

4

5

Page 30: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

How Do You Deploy Containers?The emerging space of container orchestration

What Do Container Orchestration Solutions Do?• Map containers back to physical hosts,

taking into account user-defined placement rules, the utilization of each host, and the needs of each container. Can be very complex

• Set up overlay networking, firewalls, ensure network QoS, etc

• Auto-scaling• Local and external load balancers• Service registry / discovery

HostHost

HostHost

HostHost

HostHost

HostHost

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container

App

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container• Inventory

Microservice

• AcmeCo• v1.2

Container

App

Many Containers

HostHost

HostHost

HostHost

HostHost

HostHost

Many Hosts

Docker Swarm

Emerging space. Solutions are very early and lack any real notion of an application. Still very much infrastructure-focused

Page 31: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

DIY

Docker on Oracle Cloud – The Big Picture

Container CS

App. Container CS

JavaNode.js

Any container workload

PHPPythonRubyC++Go

Compute Cloud Service

• Application Container Cloud Service

• Run Cloud Native applications with ease

• Container Cloud Service

• Oracle-provided container orchestration tooling

• Compute Cloud Service

• DIY Docker orchestration

Page 32: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle Container Cloud ServiceProvides Out of the Box Functionality

● Define Resource Pools● Add Private Registries● Administer Users / Groups

● Edit Create New Services● Compose Application Stacks● Deploy Stacks with 1 Click

● Automated Deployment● Multi-Host, Easy Scale Out● Built in Service Discovery

● Integrated Health Checks● Unified Dashboard● Monitoring and Auditing

Configuration Management

Application Deployment

Container Orchestration

Operations Management

Page 33: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle Application Container Cloud Service

• Deploy Cloud Native applications with ease• Applications run on Oracle Linux inside Docker containers

– Docker image definition and container creation is abstracted from developers

• Stateless Applications– Ephemeral disk– Permanent storage through database or storage service

• Support for patching language runtimes

An open and highly available Docker container-based elastic polyglot Cloud platform

Page 34: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Docker and Oracle Cloud

• Oracle Cloud provides a large spectrum of solutions for Docker based Microservices architectures

• Three Public Cloud offerings for Docker container based deployments– On Compute CS, with a DIY approach– On Container CS, with an Oracle managed and supported, Cloud Native approach– On Application Container CS, with a seamless Cloud Native application runtime

approach

• Oracle Public Cloud Machine is capable of hosting container based workloads

Summary

Page 35: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Program Agenda

Docker Overview

Strategy and Positioning

Docker on Oracle Cloud

Oracle Technology on Docker

Extras

1

2

3

4

5

Page 36: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

• Oracle Linux– 5.11, 6.6+, 7.0+

• MySQL Server– 5.5+

• WebLogic Server– 12.1.3, 12.2.1

• Coherence– 12.2.1

• Tuxedo– 12.1.3, 12.2.2

• HTTP Server– 12.2.1

Products Currently Supported inside Docker Containers

Page 37: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle SolarisNot ready, but actively working on supporting Docker

Page 38: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Docker on Oracle Solaris

• A native Docker on Oracle Solaris, with similar runtime characteristics as experienced on Linux, would check all of the boxes

• Planning for work to improve in these areas coincided with our noticing a considerable uptick in Docker adoption

• As with OpenStack, participate rather than reinvent• Integration with other container technologies already a goal for the Docker

project

Good timing and well-aligned

Page 39: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle Linux

Page 40: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle Linux and Docker• Docker engine binary for OL is built and maintained by OL team• Supports full container lifecycle: build, ship, distribute, and

deployment of applications• Oracle Linux Base images available

– OL 5 – 5.11– OL 6 – 6.6, 6.7– OL 7 – 7.0, 7.1, 7.2

• Support for common OL usage (i.e.: yum package manager)• Support for btrfs for Docker containers filesystems• Small image size

– ~ 70 MB download size– ~ 200MB when extracted

Page 41: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Docker Binary by Oracle Linux• Binary available on YUM addons repository as docker-engine– Built from upstream sources; Internal builds available for each upstream RC– Specific PRs from upstream are built and tested– Automated QA is run as follows

• Build validation and upstream test suite• Internal validation and product test suites (e.g. MySQL)• OpenStack for Oracle Linux R2 specific test suites

• Runs on OL 6 and OL 7• Docker 1.10+ requires Unbreakable Enterprise Kernel Release 4

Page 42: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Benefits of Docker on btrfs• Btrfs (B-Tree File System) originally developed at Oracle; now mainline• Copy-on-write filesystem with built-in disk and RAID management• Self-healing built-in though checksums and scrubbing• Most mature filesystem that supports Docker features/performance

– device-mapper is very, very slow– aufs is only supported on Debian/Ubuntu– overlayfs is very new/unstable

• Oracle employs primary btrfs developers

Page 43: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Advantages of Docker on Oracle Linux• Runs on Oracle Linux 6

– No other EL6-derived distro can run Docker 1.9 or higher– Requires UEK4 which is provided for both OL6 and OL7

• Upstream builds on Oracle Linux 6 and 7– Upstream continuous integration includes Oracle Linux builds

• Supports btrfs in production on both OL6 and OL7– No other EL6-derived distro supports btrfs in production

Page 44: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

WebLogic on Docker

Page 45: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Certification of WebLogic Running on DockerWLS Version JDK Version Host OS Kernel Docker Version

12.2.1 8

Oracle Linux 6 UEK 3 (3.8.13)

* 1.7+Oracle Linux 7 UEK 3 (3.8.13)

Red Hat Enterprise Linux 7 Red Hat Kernel (3.10)

12.1.3 7 / 8

Oracle Linux 6 UL 5 UEK 3 (3.8.13)

* 1.3.3+Oracle Linux 7 UEK (3.8.13)

Red Hat Enterprise Linux 7 Red Hat Kernel (3.10)

* Docker 1.10+ requires UEK4

Page 46: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Support and Licensing• Support details on Support Doc ID 2017945.1• Set of Dockerfiles recipes and samples are published on GitHub

– http://github.com/oracle/docker-images/tree/master/OracleWebLogic– No binary images are provided. Customers must build their owns.– No requirement to use samples recipes and scripts from GitHub.

• No licensing change. No CPU partition.– Containers processes run on the host kernel. – Regardless of CPU constraints on containers, products must be licensed the same way

as if customer wasn't using containers at all.

Page 47: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Deploying WebLogic on Docker

Page 48: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Building WebLogic Docker Images• Download JDK 8 binary for Linux x64• Download WebLogic 12.2.1 Generic Installer• Write a Dockerfile extending the oraclelinux:7

Docker image.– Or use samples from GitHub

• Write a set of WLST files to create a WebLogic Domain. Tie that into a second Dockerfile to build a domain Docker image.– Or extend samples from GitHub

• Automate everything!Oracle Linux

JDK + WebLogic

WebLogic Domain

Base Image

WLSInstallImage

WLS DomainImage

EAR/WARApp Image

Page 49: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Runtime Topologies for WebLogic on DockerSupported topologies for customers with different needs, operations models.

Page 50: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

WebLogic Domain Cluster

50

MS Container 1

NMMS

AppJMS

(A) Topology - Lightweight VM – Example Expand a Cluster: Add Managed Servers Into Domain

MS Container 2

NMMS

AppJMS

MS Container 3

NMMS

AppJMS

Admin Container

WLS Admin Server

MS Container 4

NMMS

AppJMS

MS Container 5

NMMS

AppJMS

MS Container 6

NMMS

AppJMS

# docker run –-name wlsadmin –d mywlsimage startWebLogic.sh

LBR WebTier

OHS

# docker run –-link wlsadmin:wlsadmin –d mywlsimage createServer.sh# docker run –-link wlsadmin:wlsadmin –d mywlsimage createServer.sh

Linux Host (physical/virtual server 1)

Page 51: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Linux Host server 0

Domain Cluster 1

51

WLS Container 1

NMMS

AppJMS

(A) Topology - Lightweight VM – Multiple HostStarting with Docker 1.9+, containers can communicate across hosts using Overlay Network

WLS Container 2

NMMS

AppJMS

WLS Container 3

NMMS

AppJMS

Admin Container

WLS Admin Server

WLS Container 4

NMMS

AppJMS

WLS Container 5

NMMS

AppJMS

WLS Container 6

NMMS

AppJMS

Linux Host (physical/virtual server 2)Linux Host (physical/virtual server 1)

LBR Container

OHSOTD

Page 52: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Artifacts Are Now Immutable Containers – Not EARs, WARsContainers can have anything in them and are highly portable

• No more installing a JVM, app server, and then deploying the artifacts to them

• Build the container once, deploy it anywhere. Can include complex environment variables, scripts, etc

• Containers should be free of state and configuration

• Containers should not assume they are able to write to a persistent local file system

Hardware

Operating System

Hypervisor

VM 1 VM 2

Legacy

Hardware

Operating System

Container 1 Container 2

Container Approach

OS

App Server

EAR/WAR

OS

App Server

EAR/WAR The Artifact You Deploy

Page 53: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Linux Host 0 Linux Host 3Linux Host 1 Linux Host 2

53

(B) Topology - Containerized Apps – Single/Multi HostLoad Balancing only. There is no real clustering replication. No failover.

LBR WebTier

OHSWLSContainerized

AS

AppJMS

Domain App 0

WLSContainerized

AS

AppJMS

Domain App 0

WLSContainerized

AS

AppJMS

Domain App 0

WLSContainerized

AS

AppJMS

Domain App 1

WLSContainerized

AS

AppJMS

Domain App 1

WLSContainerized

AS

AppJMS

Domain App 1

root@host_1 # docker run –d mywlsapp0 startWebLogic.shroot@host_2 # docker run –d mywlsapp0 startWebLogic.shroot@host_3 # docker run –d mywlsapp0 startWebLogic.sh

root@host_1 # docker run –d mywlsapp1 startWebLogic.shroot@host_2 # docker run –d mywlsapp1 startWebLogic.shroot@host_3 # docker run –d mywlsapp1 startWebLogic.sh

Page 54: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Program Agenda

Docker Overview

Strategy and Positioning

Docker on Oracle Cloud

Oracle Technology on Docker

Extras

1

2

3

4

5

Page 55: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Recipes and Samples for Docker Images• GitHub project contains only samples and Dockerfiles (recipes) for building

images– No binaries are published. – Customers must download binaries from Oracle as usual.

• Oracle does not provide compiled Docker images for non-Open Source, commercial products on any public registry (i.e.: Docker Hub)

• Recipes and samples for Docker images on GitHub are published under CDDL+GPL dual license

Page 56: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Other Docker Recipes Published on Oracle GitHub• Open Source / Non-commercial / Not Supported

– NoSQL Community Edition– GlassFish Application Server Open Source Edition– OpenJDK

• Recipes/Samples for Other Products– Oracle JDK (standalone)

• * not certified/supported yet

Page 57: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Links and External Resources• Oracle WebLogic Docker Announcement

– https://blogs.oracle.com/WebLogicServer/entry/oracle_weblogic_server_12_21

• Oracle Linux Docker Announcement– https://blogs.oracle.com/linux/entry/oracle_linux_images_for_docker

• Oracle on GitHub– http://www.github.com/oracle/docker-images

• Oracle on Docker Hub– http://hub.docker.com/u/oracle

• MOS Doc.ID link– https://support.oracle.com/epmos/faces/DocumentDisplay?id=2017945.1

• FMW Virtualization Support Page– http://www.oracle.com/technetwork/middleware/ias/oracleas-supported-virtualization-089265.html

Page 58: Tecnologias Oracle em Docker Containers On-premise e na Nuvem

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Page 59: Tecnologias Oracle em Docker Containers On-premise e na Nuvem