Download - Oracle WebLogic Server 12c with Docker
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle WebLogic Server 12c with Docker OTN La'n America Tour 2015
Dr. Frank Munz munz & more Bruno Borges Oracle WebLogic Server Product Management
1
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 2
• Bruno Borges
• Oracle Latin America
• Principal Product Manager WebLogic Latin America
• WebLogic Docker github initiator
3
• Dr. Frank Munz
• Founded munz & more in 2007
• 15 years Oracle WebLogic and Middleware
• Consulting and High-End Training
• Three Oracle / Cloud books
• twitter: @frankmunz
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
What we’re going to talk about…
1
2
GeRng Started with Docker
Oracle WebLogic Server 12c with Docker
4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement The following is intended to outline our general product direcVon. It is intended for informaVon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcVonality, and should not be relied upon in making purchasing decisions. The development, release, and Vming of any features or funcVonality described for Oracle’s products remains at the sole discreVon of Oracle.
5
“Docker wasn’t on anyone’s agenda for 2014. It’s on everyones roadmap for 2015.”
Adrian Cockro[, Ne]lix
#OOW2015 ”... Docker?”
#0 ... some basics
Docker
• Open Source (evolving), written in Go
• Container technology supported by Oracle
• Portable Standard
• Runs on Linux (and Microsoft, Solaris)
Google starts 2.000.000.000 containers per week!
Virtualization vs. Container
munz & more #11
Linux + Docker
Hardware
a.war
Docker container in Linux with own FS, network stack / IP address, process space and resource limits
Hardware
OVM / VmWare ESX / Xen
Appl 1 Solaris
Appl 1 Linux
Appl 1 Win
Server VirtualizaVon type 1 hypervisor = on bare metal
Hardware
VirtualBox Mac OS / Win
App Linux
Desktop VirtualizaVon: type 2 hypervisor = with host OS
App Win
App Win
ejb.jar
y.jar x.py
JDK WebLogic
tools Jython
Docker
munz & more #12
Linux + Docker
Hardware
a.war ejb.jar
y.jar
x.py
JDK
WebLogic
tools
Jython
Docker is not a lightweight VirtualBox Containers run on Linux kernel of host -> Containers are visible on host
Docker Images
• Package format
• Layered incremental file system
• “Application with all dependencies”
• Create it yourself or get it from Docker Hub
$ docker images
munz & more #13
Example Layers: - WLS Domain - WebLogic - Java - Base Image
Docker Container • Isolated runtime of image
• Start up in milliseconds
• Sandboxing uses Linux namespaces and cgroups -> isolated part of your Linux
• Open Container Standard / Linux Foundation
$docker run -‐d –p 8080:9999 fmunz/micro
munz & more #14
a.war ejb.jar
y.jar x.py
JDK WebLogic
tools Jython
solves the “Worked For Me!” issue
munz & more #15
OS tools, JDK,
patches, database driver, libs,
appserver, domain, deployment, tools,
scripts
Docker
OS uVls, JDK, patches, database driver, libs, appserver, domain, deployment, tools, scripts
IntegraVon, Performance, Acceptance
TesVng
ProducVon
dockerize it!
You can pass environment variables for specific settings e.g. in prod
#1 the registry
Registry
• Hosted, code open sourced
• Docker image is not found? pulled from registry
• Push your image to registry $docker push yourname/newimage
• Free account includes 1 private registry
• Also private, containerized registry for download with fs and optional in-memory S3, or Azure data store
munz & more #17
what should be your biggest nightmare: unknown and unofficial images (>14000)
Docker Registry
Automated Builds
• Automatically build your images: GitHub account with Dockerfile
• Registry uses GitHub directory structure as build context
• Image is uploaded automatically to Docker hub
-> Trust, up to date, and transparent
#2 clouds
Docker in the Cloud?
Supported by every major cloud provider:
munz & more #21
On premise -> all clouds
Docker Registry
The new PaaS?
”PaaS: some hosted platform* that runs my Java, Java EE, node.js, or Ruby code.” Now you build your all-incl. container yourself...
->PaaS: platform that runs containers? *real cloud: API, elasticity, and pay per use
munz & more #22
The new PaaS?
PaaS is more than just code-push...
-> Don’t forget DB as a Service, Integration Service (Oracle ICS) etc.
munz & more #23
demo?
Small Images / Microservices
You can have a real service in ...
Possible Options: busybox and static binary
munz & more #25
Simple Life Inside Container
munz & more #26
processes
FS
mounts
#3 Yes, WebLogic!
WLS and Docker
WebLogic in a Docker Container!
What is supported?
munz & more #29
Check the ff. Oracle docs: - CertMatrix - WLS &
Docker Whitepaper
What Do You Get? • NOT WebLogic from Docker registry • NO automatic build via github
• Github repo with scripts
to set up WebLogic on Oracle Linux in Docker
• Dev or generic distribution • Docker is a supported
environment for WebLogic 12.1.3
munz & more #30
Dockerfile
$docker build
Dockerfile and Scripts (from Oracle github)
WebLogic Docker Image (no domain)
Extend the WLS-only image
Sample script provided:
• Dockerfile to extend WLS image. Starts with FROM oracle/weblogic:12.1.3-‐dev
• Run WLST script to create domain
• Create boot.properties
• Expose NM, Server ports
• Default command: startWebLogic.sh
munz & more #32
Docker Style
• Independent WLS in container
• Microservices style architecture
• Just add your favorite Docker cluster manager
munz & more #33
OS tools, JDK,
database driver, libs, appserver, single domain (admin server only),
deployment, tools, scripts
The WebLogic Way
munz & more #34
$docker run -‐d -‐-‐link wlsadmin:wlsadmin fmdom1 createServer.sh
$docker run -‐d -‐p 8001:8001 -‐-‐name=wlsadmin fmdom1 startWebLogic.sh
JDK, WLS, Domain
startWebLogic.sh
starts AdminServer wlsadmin
JDK, WLS, Domain createServer.sh:
creates machine/NM, starts NM,
creates manServ, starts manServ
connect to admin due to --link: /etc/hosts 172.17.1.99 wlsadmin 31a1baaf
or createMachine.sh or startNodeManager.sh
port 8001 IP:port 7001
Managed Servers
The WebLogic Way Config
munz & more #35
Managed Server Node Manager
Managed Server starVng up automaVcally
Facts to Know
• Oracle supports WebLogic on Docker
• Docker networking is still experimental -> limitations for cross-machine deployments
• Docker cluster managers are still evolving (Kubernetes, Apache Mesos with Marathon, AWS ECS, CloudFoundry, etc.)
munz & more #36
munz & more #37
Good Docker book by J. Turnbull (Docker 1.8)
Oracle Whitepaper WebLogic on Docker Containers
gracias a ustedes!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
www.munzandmore.com/blog facebook.com/cloudcomputingbook facebook.com/weblogicbook @frankmunz youtube.com/weblogicbook
-> more than 45 web casts
Don’t be shy J