SlideShare uma empresa Scribd logo
1 de 86
and the Oracle
Platform -
Database,
WebLogic
& the Cloud
Intro to Docker Containers
Intro to Docker Containers for Oracle professionals1
Lucas Jellema, CTO of AMIS
ODevC Yatra, Pune, Friday 13th July 2018
Lucas Jellema
Architect / Developer
1994 started in IT at Oracle
2002 joined AMIS
Currently CTO & Solution Architect
Intro to Docker Containers for Oracle professionals 2
Presenting
• Oracle OpenWorld
• JavaOne
• Oracle Code
• Devoxx
• Java and Oracle User Group meetups
• JavaOne Rockstar (JavaOne 2015)
• ODevC Yatra 2018
Intro to Docker Containers for Oracle professionals 3
Writing
• Blogs at http://technology.amis.nl
• 1500 articles – from UI to Middle Tier, Database and Infrastructure
• Articles at Medium, DZone and Oracle Technology Network
• Books for McGraw Hill (Oracle Press)
• Oracle ACE Director & Developer Champion
Intro to Docker Containers for Oracle professionals 4
From The Netherlands
Intro to Docker Containers for Oracle professionals 5
Setup for Oracle OpenWorld Demo
What I needed
• Local installation of a Kafka Cluster
• At least one Broker node and the Zookeeper
Kafka
Broker
Zookeeper
Demo Application
Intro to Docker Containers for Oracle professionals 6
Setup for Oracle OpenWorld Demo
What I received from Guido
• Simple text file – 140 lines
Intro to Docker Containers for Oracle professionals 7
Name of Docker
image to run
Hostname on internal network
between Docker containers
Environment variable
to pass to container
Dependency on other
container (to start first)
Container port to
expose externally
Setup for Oracle OpenWorld Demo
What I created in a few minutes
Intro to Docker Containers for Oracle professionals 8
Kafka
Broker
Zookeeper
Kafka
Rest ProxyKafka
Schema
Registry
Kafka
Connect
Kafka
Connect UI
Kafka
Schema
Registry UI
Kafka
Manager
9092
2181
9000
8084
80018083
8081
8002
Some Quick Conclusions
• Docker provides a great way to
• Build environments (application & platform)
(from simple, text based build files & public images)
• Share & Ship these environments
(either through build files or through ready-to-run images)
• Run environments making efficient use of physical resources
(that can be complex and have complex interdependencies)
• And Guido is a very nice guy
• And also:
• [Docker] Containers are pivotal in cloud native environments,
microservices architecture, DevOps and CD
• Any IT professional should know her or his way around containers
Intro to Docker Containers for Oracle professionals 9
Overview of today’s session
• Docker Container – what and why?
• Build, ship, run & operate
• Use in development, training, testing, delivery and production & operations
• Running custom containers on Oracle Container Cloud
• Microservices and the application platform of tomorrow
• Introducing Kubernetes and the upcoming Oracle Kubernetes Engine Cloud
• Building Containers with Oracle platform from Oracle GitHub repo
• Oracle Container Registry with prebaked images for Oracle platform
• Going forward…
Intro to Docker Containers for Oracle professionals 10
Linux essentials
• Applications share resources
Intro to Docker Containers for Oracle professionals 11
Disk Storage
Memory
CPUs
Application A
Application B
Application C
• Network interface
• IP address
• Ports
• Users & groups
• Environment
Variables
• Packages
• Services
Linux essentials: Control Groups and Namespaces
• Compartmentalize Resources
into isolated
units
Intro to Docker Containers for Oracle professionals 12
Disk
Storage
Memory
CPUs
• Network interface
• IP address
• Ports
• Users & groups
• Environment
Variables
• Packages
• Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Linux essentials: Control Groups and Namespaces
• Expose units through
mapped network
ports
Intro to Docker Containers for Oracle professionals 13
Disk
Storage
Memory
CPUs
• Network interface
• IP address
• Ports
• Users & groups
• Environment
Variables
• Packages
• Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Linux essentials: Each unit runs its own processes
• Units run their own
processes:
• OS (Linux)
• Platform
• Application
Intro to Docker Containers for Oracle professionals 14
Disk
Storage
Memory
CPUs
• Network interface
• IP address
• Ports
• Users & groups
• Environment
Variables
• Packages
• Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Application A Application B
Application C
This stuff is complex
• Core Linux features were hard to use
Intro to Docker Containers for Oracle professionals 15
Disk
Storage
Memory
CPUs• Network interface
• IP
address
• Ports
• Users & groups
• Environment Variables
• Packages
• Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Application A Application B
Application C
Docker has democratized Linux Containers
• Container Image – a serialized file from which we can instantiate a container
• Container Build script and workflow – to automate the creation of a container
(image) using straightforward vocabulary
• Engine – runtime platform for instantiating, running and managing containers,
volumes and networks (REST API and CLI)
• Docker Registry – Repository for Container Images
• And now also Docker Store
Intro to Docker Containers for Oracle professionals 16
Disk
Storage
Memory
CPUs• Network interface
• IP
add
res
s
• Por
ts
• Users & groups
• Environment Variables
• Packages
• Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Application A Application B
Application
C
Running Containers using Docker
• Create Container(s)
from Image plus:
• Port mapping
• Volume
• Environment
Variable
• (inter container)
Network
• Startup script
Intro to Docker Containers for Oracle professionals 17
Disk
Storage
Memory
CPUs
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Network interface
IP address
Ports
Users & groups
Environment Variables
Packages
Services
Application A Application B
Application C
Docker Hub
Docker Engine
Container
images
Running Containers using Docker on Windows
• Docker is a Linux mechanism
• In order to run on a Windows server,
we use a Linux VM
• VirtualBox
• Hyper-V
• …
• Docker Toolbox
• It is possible to run the Docker Engine inside a Docker Container
• Docker Container inside Docker Container [inside VM]
Disk
Storage
Memory
CPUs• Network interface
• IP
add
res
s
• Por
ts
• Users & groups
• Environment Variables
• Packages
• Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Network
interface
IP address
Ports
Users & groups
Environment
Variables
Packages
Services
Application A Application B
Application
C
Intro to Docker Containers for Oracle professionals 18
Run container
image on
Docker host
Running Docker
Containers
Intro to Docker Containers for Oracle professionals19
Running Containers using Docker
20
Application A
Docker Hub
Docker Engine
docker run
--name ApplicationA
amis/NodeAppRunnerImage:latest
/bin/bash
amis/NodeAppRunnerImage:1.4
ApplicationA
Intro to Docker Containers for Oracle professionals
Running Containers using Docker
Intro to Docker Containers for Oracle professionals 21
Application A
Docker Hub
Docker Engine
docker run
--name ApplicationA
-p 8010:8080 -p 8011:1521
--network=myBridgeNW
-e APP_HOME=/home/apps/applicationA
-e PARAM1=value1
amis/NodeAppRunnerImage:latest
/bin/bash
amis/NodeAppRunnerImage:1.4
8010
8011
8080
1521
ApplicationA
APP_HOME=
/home/apps/applicationA
PARAM1=
value1
Running Containers using Docker
Intro to Docker Containers for Oracle professionals 22
Disk
Storage
/host_files
/data
Application A
Docker Hub
Docker Engine
docker run
--name ApplicationA
-p 8010:8080 -p 8011:1521
--network=myBridgeNW
-v /hostworkdir
-v /tmp/files:/host_files
--volumes-from dataContainer
-e APP_HOME=/home/apps/applicationA
-e PARAM1=value1
amis/NodeAppRunnerImage:latest
/bin/bash
amis/NodeAppRunnerImage:1.4
8010
8011
8080
1521
dataContainer
ApplicationA
APP_HOME=
/home/apps/applicationA
PARAM1=
value1
Containers are ephemeral (*
Intro to Docker Containers for Oracle professionals 23
(* Candidate for IT word of the year 2018
Container state that needs to survive should be on an
externally mapped volume
Intro to Docker Containers for Oracle professionals 24
Host Disk Volume
-v /data:/u01/app/data
/u01/app/data
--mount source=/u01,target= /u01/app/data
/data
Implicit Docker Container Image Interface:
environment variables, ports, volumes
Intro to Docker Containers for Oracle professionals 25
Docker Hub
link mysql
Parameters:
WORDPRESS_DB_PASSWORD,
WORDPRESS_DB_USER, …
Volume
..:/var/lib
/mysql
Parameters:
MYSQL_DATABASE,
MYSQL_ROOT_PASSWORD
Running and Managing Containers
• Start | Pause | Stop | Delete | Export | Import containers
• Save | Load Images
• List containers | images | networks | …
• Inspect container
• Run multiple instances of an image
• Execute into running container
• Attach to (standard input | output | error stream of)
running container
• Get Container Logs
• Create Network
• Connect container to network
• Experimental feature: Snapshot (CRIU)
Intro to Docker Containers for Oracle professionals 26
GUI tools for Managing Docker Runtime
• Kitematic
• Portainer.io
• Simple Docker UI
• Dockstation
• Shipyard
• MicroBadger
• Foxy
Intro to Docker Containers for Oracle professionals 27
Create a
runnable Docker
Container image
Building Docker
Container Images
Intro to Docker Containers for Oracle professionals28
Building container images
• Manual:
• Run a container
• Perform all installation and configuration
• Commit the container and tag as new Container Image
• Push Image to Registry to reuse
Docker Hub
Dockersig-trial:1.0
Intro to Docker Containers for Oracle professionals 29
Building container images
• Scripted
(automated & repeatable/evolvable):
• Create Docker Build file
• Select base image
• Gather files required during build
• Consider multistage build
• To purge intermediate artifacts
• Build and Commit Image
• Commit build file to Git
• Push Image to Registry
Docker Hub
Dockersig-trial:1.0
Intro to Docker Containers for Oracle professionals 30
Docker Build Files on GitHub
Intro to Docker Containers for Oracle professionals 31
Summer
2018
Distribute
Docker
Container
images using
Container
Registry and
more
Shipping Docker
Container Images
Intro to Docker Containers for Oracle professionals32
Do not share container image – share container build file!
Ship (Container Images)
• Package, Distribute, Share, Publish and Consume container images
• The frozen state of a container (committed after building and further manipulating)
• With everything needed to run the micro service: application and underlying platform &
OS, ready to run on any Docker Engine anywhere
• With an implicit interface (environment variables, ports, volume)
34Intro to Docker Containers for Oracle professionals
Public Docker
Registry
Docker Hub
Docker Image Registry
35
push
Private Docker
Registry
Docker Hub
push
Intro to Docker Containers for Oracle professionals
Shipping Container Images
• Containers can be Exported and Imported
• Via TAR-files
• Images can be Saved and Loaded
• Via TAR-files
Intro to Docker Containers for Oracle professionals 36
Leveraging
Containers on
the Oracle
workfloor
Container Use
Cases for Oracle
Professionals
Intro to Docker Containers for Oracle professionals37
Container Use Cases for Oracle professionals
• R&D (aka Play) – try out technology
• Quickly, easily, cleanly
• Complex, multi-node configurations
• Leverage huge number of resources available out in the open
• Prepare and Share (running) environments for
• Playing, Training, Testing, Beta-testing,
• Deploy and Run application on generic cloud infrastructure
• Especially ephemeral (stateless) and dynamically scalable
• Streamlined CD across Development, Test and Production
• Prepare for Cloud (consolidate, lift & shift workloads)
• Analysis & What If Scenarios
• Clone an environment, spin up, investigate, tear down & quit
• Automated Testing
• Against rich dataset with minimum set up and tear down
• Microservices – implement, deploy and run
Intro to Docker Containers for Oracle professionals 38
Manage Test Data Set for (automated) tests
• Build a Container Image with:
• Oracle Database
• Application Database Objects from DDL
• Test Data Set (with all cases and relevant details)
• Commit and Tag
with (Sprint) Release
Intro to Docker Containers for Oracle professionals 39
Oracle Database
DDL
DML scripts or Export for
Test Data
AppTest:R17.49.1
Run (Automated) Test
• Run container image for designated release
• with –rm flag
• start database
• Execute test
• No set up, no tear down
• Stop container
Intro to Docker Containers for Oracle professionals 40
AppTest:R17.49.1
Oracle
Database
Test Data
Application
docker container run
-d -p 1521:1521
-rm AppTest:R17.49.1
Run (Automated) Test
• Run container image for designated release
• with –rm flag
• start database
• Execute test
• No set up, no tear down
• Stop container
• Next test – or even in parallel
Intro to Docker Containers for Oracle professionals 41
AppTest:R17.49.1
Manage Test Data Set for (automated) tests
After a new (Sprint) Release
• Run Container for Previous Release
• Apply DDL to Upgrade Application
• Manage Data Set – test cases to cater for new features
• Commit and Tag with new (Sprint) Release label
Intro to Docker Containers for Oracle professionals 42
DDL
R17.51.1
DML scripts or Export for Test
Data Updates R17.51.1
AppTest:R17.51.1
AppTest:R17.49.1
Oracle
Container Cloud
Run Docker
Containers on
Oracle Cloud
Oracle Container Cloud for Docker Containers
• Configure number of worker
nodes for the OCC instance
• Define resource pools
• Assign service (i.e. container
image) to resource pool
• Specify # instances
• Specify image input
• Port mapping, environment
variable, volume, network
• Optionally define stacks
• Combinations of services
Intro to Docker Containers for Oracle professionals 46
WebLogic on Oracle Container Cloud
Intro to Docker Containers for Oracle professionals 47
Oracle Wercker
Automating CI/CD
Pipeline for
Containers
Once upon a time –
a container based microservice
Intro to Docker Containers for Oracle professionals 49
µ
http requests
Where is the container running?
• Any Docker Host – on premises or cloud based VM - or a Container Cloud Service
• For example: Oracle Container Cloud Service
Intro to Docker Containers for Oracle professionals 50
µ
How did the container start running in the runtime?
• Through a CI/CD Pipeline
• Build process
• Take a Basic runtime image – e.g. Linux plus Some Language VM
• Add application code
• Add runtime agents and tooling
• Add platform/runtime configuration
• Then Build the Image
• Test the Image
• Tag and Push Image to Registry
• Deploy the image plus applicable configuration to a specific destination
container runtime environment
• The CI/CD Process is managed manually or triggered by development
event
Intro to Docker Containers for Oracle professionals 51
µ
Wercker: Build, Test, Push and Deploy Pipelines for
Containers
Intro to Docker Containers for Oracle professionals 52
µ
µ
µ
Kubernetes and
Oracle
Kubernes
Engine Cloud
The application
and microservices
runtime platform
of tomorrow
Containers
• As vehicle for:
• Encapsulate
• Build
• Share & Ship
• Automated Tests
• Deploy
• Run
• Scale
• Relocate
• Standardize
Intro to Docker Containers for Oracle professionals 54
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 55
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 56
Compute
Node
Compute Node
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 57
Compute
Node
Compute Node
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 58
Compute
Node
Compute Node
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 59
Compute
Node
Compute Node
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 60
Compute
Node
Compute Node
Compute
Node
Cloud
Storage
SAN
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 61
Compute
Node
Compute Node
Compute
Node
Cloud
Storage
SAN
Configuration
Map
Configuration
Map
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 62
Compute
Node
Compute Node
Compute
Node
Compute
Node
Compute
Node
Compute
Node
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 63
Compute Node
Compute
Node
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 64
Compute Node
Compute
Node
Compute
Node
Looking for a runtime platform for
Intro to Docker Containers for Oracle professionals 65
Compute Node
v2
v2
v2
v2
v2
Kubernetes (“pilot, steersman”)
Intro to Docker Containers for Oracle professionals 66
Intro to Docker Containers for Oracle professionals 67
Intro to Docker Containers for Oracle professionals 68
Intro to Docker Containers for Oracle professionals 69
Intro to Docker Containers for Oracle professionals 70
Oracle Docker
Build Files
GitHub Repo
Building Docker
containers with
Oracle platform
Example of Docker File
• Build a Docker Container
with Java 8 Runtime
Intro to Docker Containers for Oracle professionals 72
Build Docker Container for
Oracle Database 12.2.0.1 Enterprise Edition
• Download database
installation binaries
before building the
container
Intro to Docker Containers for Oracle professionals 73
Why run Oracle Database on Docker?
• Because we can…
• Automated testing
• Clone environments
• Similar to PDB cloning
• Quick provisioning of new environments
• R&D
• Production workloads?
• Automated Ops/DBA => Autonomous Database (?)
Intro to Docker Containers for Oracle professionals 74
Running WebLogic Server in Docker Containers -
when and why?
Intro to Docker Containers for Oracle professionals 75
Intro to Docker Containers for Oracle professionals 76
Oracle
Container
Registry
Running
containers from
prebuilt images
Intro to Docker Containers for Oracle professionals 78
Intro to Docker Containers for Oracle professionals 79
Run Oracle Database from official Container Image
• docker run -d -it –-name ORA12201_1
–P container-registry.oracle.com/database/enterprise:12.2.0.1
Intro to Docker Containers for Oracle professionals 80
Run Oracle Database – from a container image
Intro to Docker Containers for Oracle professionals 81
Intro to Docker Containers for Oracle professionals 82
Oracle Container Registry for Your Images
• After build and before run – container images need to be stored
• Secure (because runtime artefacts)
• Accessible (& low latency) to deployment engine and container runtime
• Scalable and Smart (no duplicate images and image layers)
Intro to Docker Containers for Oracle professionals 83
Oracle Cloud Infrastructure – Container Registry
Intro to Docker Containers for Oracle professionals 84
Going forward – what should be your moves?
• Start playing.
Intro to Docker Containers for Oracle professionals 85
https://www.katacoda.com/courses/docker
Going forward – what should be your moves?
• Learn about Docker
• Brush up on your Linux skills
• Install Docker and run some images
• Experiment with Port, Link, Volume, Environment Variables
• Create your own build file, build a container and commit as image
• Push your own image to a Docker Registry
• Using a trial on Oracle Cloud – run a container
from your image on the Container Cloud or on the OCI Kubernetes Engine Cloud
• Run containers based on the official Oracle Docker build files on GitHub
• Run containers based on the official Oracle Docker images on Oracle Container Registry
• Learn about Kubernetes (KataKoda is an excellent environment)
• Experiment with Kubernetes locally (on minikube)
• And on Oracle Kubernetes Engine Cloud
Intro to Docker Containers for Oracle professionals 86
Summary
• Docker is a great technology to
• Run
• Share, Ship & Deliver
• Build
encapsulated environments with run time platform
and application
• Containers are likely the core run time unit to manage:
deploy, configure, scale, monitor, interconnect, secure
• Kubernetes is the de facto distributed container
management platform for cloud and on premises
• Oracle does Docker and Kubernetes in anger
Thank you!
• Blog: technology.amis.nl
• Email: lucas.jellema@amis.nl
• : @lucasjellema
• : lucas-jellema
• : www.amis.nl, info@amis.nl

Mais conteúdo relacionado

Mais procurados

Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous DeliveryMohammad Bilal Wahla
 
Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes mattersPlatform9
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservicesChristian Posta
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Weaveworks
 
Docker Federal Summit 2017 General Session
Docker Federal Summit 2017 General SessionDocker Federal Summit 2017 General Session
Docker Federal Summit 2017 General SessionDocker, Inc.
 
Kubernetes best practices with GKE
Kubernetes best practices with GKEKubernetes best practices with GKE
Kubernetes best practices with GKEGDG Cloud Bengaluru
 
Docker ee an architecture and operations overview
Docker ee an architecture and operations overviewDocker ee an architecture and operations overview
Docker ee an architecture and operations overviewDocker, Inc.
 
Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemSreenivas Makam
 
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveSanjeev Rampal
 
Fabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | PresentationFabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | PresentationFabio Ferrari
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...Animesh Singh
 
Containers and Kubernetes
Containers and KubernetesContainers and Kubernetes
Containers and KubernetesAltoros
 
Webinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMwareWebinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMwarePlatform9
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategyDocker, Inc.
 
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...Docker, Inc.
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...Docker, Inc.
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDocker, Inc.
 
VM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesVM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesCodefresh
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17Mario-Leander Reimer
 

Mais procurados (20)

Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous Delivery
 
Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservices
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps
 
Docker Federal Summit 2017 General Session
Docker Federal Summit 2017 General SessionDocker Federal Summit 2017 General Session
Docker Federal Summit 2017 General Session
 
Kubernetes best practices with GKE
Kubernetes best practices with GKEKubernetes best practices with GKE
Kubernetes best practices with GKE
 
Docker ee an architecture and operations overview
Docker ee an architecture and operations overviewDocker ee an architecture and operations overview
Docker ee an architecture and operations overview
 
Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystem
 
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
 
Fabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | PresentationFabio Ferrari | particles.io | Presentation
Fabio Ferrari | particles.io | Presentation
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...
 
Containers and Kubernetes
Containers and KubernetesContainers and Kubernetes
Containers and Kubernetes
 
Webinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMwareWebinar: OpenStack Benefits for VMware
Webinar: OpenStack Benefits for VMware
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
 
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...
DCEU 18: Desigual Transforms the In-Store Experience with Docker Enterprise C...
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
 
VM vs Docker-Based Pipelines
VM vs Docker-Based PipelinesVM vs Docker-Based Pipelines
VM vs Docker-Based Pipelines
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 

Semelhante a Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Cloud (ODevC Yatra 2018, July, Pune and Mumbai)

Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Lucas Jellema
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsZohar Elkayam
 
Intro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceIntro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceMano Marks
 
Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...
Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...
Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...Lucas Jellema
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker, Inc.
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewChris Ciborowski
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!Clarence Bakirtzidis
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013dotCloud
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsLalit Kale
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Dockercjmyers
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerJohn Willis
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for RealistsOracle Developers
 
Intro to Docker October 2013
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013Docker, Inc.
 
Docker Platform 1.9
Docker Platform 1.9Docker Platform 1.9
Docker Platform 1.9Docker, Inc.
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSFrank Munz
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationAlex Vranceanu
 

Semelhante a Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Cloud (ODevC Yatra 2018, July, Pune and Mumbai) (20)

Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOps
 
Intro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceIntro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conference
 
Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...
Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...
Automated Testing with Docker on Steroids - nlOUG TechExperience 2018 (Amersf...
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Using Docker in production: Get started today!
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Intro to Docker October 2013
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013
 
Docker Platform 1.9
Docker Platform 1.9Docker Platform 1.9
Docker Platform 1.9
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
 
Docker
DockerDocker
Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 

Mais de Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

Mais de Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 

Último (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Cloud (ODevC Yatra 2018, July, Pune and Mumbai)

  • 1. and the Oracle Platform - Database, WebLogic & the Cloud Intro to Docker Containers Intro to Docker Containers for Oracle professionals1 Lucas Jellema, CTO of AMIS ODevC Yatra, Pune, Friday 13th July 2018
  • 2. Lucas Jellema Architect / Developer 1994 started in IT at Oracle 2002 joined AMIS Currently CTO & Solution Architect Intro to Docker Containers for Oracle professionals 2
  • 3. Presenting • Oracle OpenWorld • JavaOne • Oracle Code • Devoxx • Java and Oracle User Group meetups • JavaOne Rockstar (JavaOne 2015) • ODevC Yatra 2018 Intro to Docker Containers for Oracle professionals 3
  • 4. Writing • Blogs at http://technology.amis.nl • 1500 articles – from UI to Middle Tier, Database and Infrastructure • Articles at Medium, DZone and Oracle Technology Network • Books for McGraw Hill (Oracle Press) • Oracle ACE Director & Developer Champion Intro to Docker Containers for Oracle professionals 4
  • 5. From The Netherlands Intro to Docker Containers for Oracle professionals 5
  • 6. Setup for Oracle OpenWorld Demo What I needed • Local installation of a Kafka Cluster • At least one Broker node and the Zookeeper Kafka Broker Zookeeper Demo Application Intro to Docker Containers for Oracle professionals 6
  • 7. Setup for Oracle OpenWorld Demo What I received from Guido • Simple text file – 140 lines Intro to Docker Containers for Oracle professionals 7 Name of Docker image to run Hostname on internal network between Docker containers Environment variable to pass to container Dependency on other container (to start first) Container port to expose externally
  • 8. Setup for Oracle OpenWorld Demo What I created in a few minutes Intro to Docker Containers for Oracle professionals 8 Kafka Broker Zookeeper Kafka Rest ProxyKafka Schema Registry Kafka Connect Kafka Connect UI Kafka Schema Registry UI Kafka Manager 9092 2181 9000 8084 80018083 8081 8002
  • 9. Some Quick Conclusions • Docker provides a great way to • Build environments (application & platform) (from simple, text based build files & public images) • Share & Ship these environments (either through build files or through ready-to-run images) • Run environments making efficient use of physical resources (that can be complex and have complex interdependencies) • And Guido is a very nice guy • And also: • [Docker] Containers are pivotal in cloud native environments, microservices architecture, DevOps and CD • Any IT professional should know her or his way around containers Intro to Docker Containers for Oracle professionals 9
  • 10. Overview of today’s session • Docker Container – what and why? • Build, ship, run & operate • Use in development, training, testing, delivery and production & operations • Running custom containers on Oracle Container Cloud • Microservices and the application platform of tomorrow • Introducing Kubernetes and the upcoming Oracle Kubernetes Engine Cloud • Building Containers with Oracle platform from Oracle GitHub repo • Oracle Container Registry with prebaked images for Oracle platform • Going forward… Intro to Docker Containers for Oracle professionals 10
  • 11. Linux essentials • Applications share resources Intro to Docker Containers for Oracle professionals 11 Disk Storage Memory CPUs Application A Application B Application C • Network interface • IP address • Ports • Users & groups • Environment Variables • Packages • Services
  • 12. Linux essentials: Control Groups and Namespaces • Compartmentalize Resources into isolated units Intro to Docker Containers for Oracle professionals 12 Disk Storage Memory CPUs • Network interface • IP address • Ports • Users & groups • Environment Variables • Packages • Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services
  • 13. Linux essentials: Control Groups and Namespaces • Expose units through mapped network ports Intro to Docker Containers for Oracle professionals 13 Disk Storage Memory CPUs • Network interface • IP address • Ports • Users & groups • Environment Variables • Packages • Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services
  • 14. Linux essentials: Each unit runs its own processes • Units run their own processes: • OS (Linux) • Platform • Application Intro to Docker Containers for Oracle professionals 14 Disk Storage Memory CPUs • Network interface • IP address • Ports • Users & groups • Environment Variables • Packages • Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Application A Application B Application C
  • 15. This stuff is complex • Core Linux features were hard to use Intro to Docker Containers for Oracle professionals 15 Disk Storage Memory CPUs• Network interface • IP address • Ports • Users & groups • Environment Variables • Packages • Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Application A Application B Application C
  • 16. Docker has democratized Linux Containers • Container Image – a serialized file from which we can instantiate a container • Container Build script and workflow – to automate the creation of a container (image) using straightforward vocabulary • Engine – runtime platform for instantiating, running and managing containers, volumes and networks (REST API and CLI) • Docker Registry – Repository for Container Images • And now also Docker Store Intro to Docker Containers for Oracle professionals 16 Disk Storage Memory CPUs• Network interface • IP add res s • Por ts • Users & groups • Environment Variables • Packages • Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Application A Application B Application C
  • 17. Running Containers using Docker • Create Container(s) from Image plus: • Port mapping • Volume • Environment Variable • (inter container) Network • Startup script Intro to Docker Containers for Oracle professionals 17 Disk Storage Memory CPUs Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Application A Application B Application C Docker Hub Docker Engine Container images
  • 18. Running Containers using Docker on Windows • Docker is a Linux mechanism • In order to run on a Windows server, we use a Linux VM • VirtualBox • Hyper-V • … • Docker Toolbox • It is possible to run the Docker Engine inside a Docker Container • Docker Container inside Docker Container [inside VM] Disk Storage Memory CPUs• Network interface • IP add res s • Por ts • Users & groups • Environment Variables • Packages • Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Application A Application B Application C Intro to Docker Containers for Oracle professionals 18
  • 19. Run container image on Docker host Running Docker Containers Intro to Docker Containers for Oracle professionals19
  • 20. Running Containers using Docker 20 Application A Docker Hub Docker Engine docker run --name ApplicationA amis/NodeAppRunnerImage:latest /bin/bash amis/NodeAppRunnerImage:1.4 ApplicationA Intro to Docker Containers for Oracle professionals
  • 21. Running Containers using Docker Intro to Docker Containers for Oracle professionals 21 Application A Docker Hub Docker Engine docker run --name ApplicationA -p 8010:8080 -p 8011:1521 --network=myBridgeNW -e APP_HOME=/home/apps/applicationA -e PARAM1=value1 amis/NodeAppRunnerImage:latest /bin/bash amis/NodeAppRunnerImage:1.4 8010 8011 8080 1521 ApplicationA APP_HOME= /home/apps/applicationA PARAM1= value1
  • 22. Running Containers using Docker Intro to Docker Containers for Oracle professionals 22 Disk Storage /host_files /data Application A Docker Hub Docker Engine docker run --name ApplicationA -p 8010:8080 -p 8011:1521 --network=myBridgeNW -v /hostworkdir -v /tmp/files:/host_files --volumes-from dataContainer -e APP_HOME=/home/apps/applicationA -e PARAM1=value1 amis/NodeAppRunnerImage:latest /bin/bash amis/NodeAppRunnerImage:1.4 8010 8011 8080 1521 dataContainer ApplicationA APP_HOME= /home/apps/applicationA PARAM1= value1
  • 23. Containers are ephemeral (* Intro to Docker Containers for Oracle professionals 23 (* Candidate for IT word of the year 2018
  • 24. Container state that needs to survive should be on an externally mapped volume Intro to Docker Containers for Oracle professionals 24 Host Disk Volume -v /data:/u01/app/data /u01/app/data --mount source=/u01,target= /u01/app/data /data
  • 25. Implicit Docker Container Image Interface: environment variables, ports, volumes Intro to Docker Containers for Oracle professionals 25 Docker Hub link mysql Parameters: WORDPRESS_DB_PASSWORD, WORDPRESS_DB_USER, … Volume ..:/var/lib /mysql Parameters: MYSQL_DATABASE, MYSQL_ROOT_PASSWORD
  • 26. Running and Managing Containers • Start | Pause | Stop | Delete | Export | Import containers • Save | Load Images • List containers | images | networks | … • Inspect container • Run multiple instances of an image • Execute into running container • Attach to (standard input | output | error stream of) running container • Get Container Logs • Create Network • Connect container to network • Experimental feature: Snapshot (CRIU) Intro to Docker Containers for Oracle professionals 26
  • 27. GUI tools for Managing Docker Runtime • Kitematic • Portainer.io • Simple Docker UI • Dockstation • Shipyard • MicroBadger • Foxy Intro to Docker Containers for Oracle professionals 27
  • 28. Create a runnable Docker Container image Building Docker Container Images Intro to Docker Containers for Oracle professionals28
  • 29. Building container images • Manual: • Run a container • Perform all installation and configuration • Commit the container and tag as new Container Image • Push Image to Registry to reuse Docker Hub Dockersig-trial:1.0 Intro to Docker Containers for Oracle professionals 29
  • 30. Building container images • Scripted (automated & repeatable/evolvable): • Create Docker Build file • Select base image • Gather files required during build • Consider multistage build • To purge intermediate artifacts • Build and Commit Image • Commit build file to Git • Push Image to Registry Docker Hub Dockersig-trial:1.0 Intro to Docker Containers for Oracle professionals 30
  • 31. Docker Build Files on GitHub Intro to Docker Containers for Oracle professionals 31 Summer 2018
  • 32. Distribute Docker Container images using Container Registry and more Shipping Docker Container Images Intro to Docker Containers for Oracle professionals32
  • 33. Do not share container image – share container build file!
  • 34. Ship (Container Images) • Package, Distribute, Share, Publish and Consume container images • The frozen state of a container (committed after building and further manipulating) • With everything needed to run the micro service: application and underlying platform & OS, ready to run on any Docker Engine anywhere • With an implicit interface (environment variables, ports, volume) 34Intro to Docker Containers for Oracle professionals
  • 35. Public Docker Registry Docker Hub Docker Image Registry 35 push Private Docker Registry Docker Hub push Intro to Docker Containers for Oracle professionals
  • 36. Shipping Container Images • Containers can be Exported and Imported • Via TAR-files • Images can be Saved and Loaded • Via TAR-files Intro to Docker Containers for Oracle professionals 36
  • 37. Leveraging Containers on the Oracle workfloor Container Use Cases for Oracle Professionals Intro to Docker Containers for Oracle professionals37
  • 38. Container Use Cases for Oracle professionals • R&D (aka Play) – try out technology • Quickly, easily, cleanly • Complex, multi-node configurations • Leverage huge number of resources available out in the open • Prepare and Share (running) environments for • Playing, Training, Testing, Beta-testing, • Deploy and Run application on generic cloud infrastructure • Especially ephemeral (stateless) and dynamically scalable • Streamlined CD across Development, Test and Production • Prepare for Cloud (consolidate, lift & shift workloads) • Analysis & What If Scenarios • Clone an environment, spin up, investigate, tear down & quit • Automated Testing • Against rich dataset with minimum set up and tear down • Microservices – implement, deploy and run Intro to Docker Containers for Oracle professionals 38
  • 39. Manage Test Data Set for (automated) tests • Build a Container Image with: • Oracle Database • Application Database Objects from DDL • Test Data Set (with all cases and relevant details) • Commit and Tag with (Sprint) Release Intro to Docker Containers for Oracle professionals 39 Oracle Database DDL DML scripts or Export for Test Data AppTest:R17.49.1
  • 40. Run (Automated) Test • Run container image for designated release • with –rm flag • start database • Execute test • No set up, no tear down • Stop container Intro to Docker Containers for Oracle professionals 40 AppTest:R17.49.1 Oracle Database Test Data Application docker container run -d -p 1521:1521 -rm AppTest:R17.49.1
  • 41. Run (Automated) Test • Run container image for designated release • with –rm flag • start database • Execute test • No set up, no tear down • Stop container • Next test – or even in parallel Intro to Docker Containers for Oracle professionals 41 AppTest:R17.49.1
  • 42. Manage Test Data Set for (automated) tests After a new (Sprint) Release • Run Container for Previous Release • Apply DDL to Upgrade Application • Manage Data Set – test cases to cater for new features • Commit and Tag with new (Sprint) Release label Intro to Docker Containers for Oracle professionals 42 DDL R17.51.1 DML scripts or Export for Test Data Updates R17.51.1 AppTest:R17.51.1 AppTest:R17.49.1
  • 44. Oracle Container Cloud for Docker Containers • Configure number of worker nodes for the OCC instance • Define resource pools • Assign service (i.e. container image) to resource pool • Specify # instances • Specify image input • Port mapping, environment variable, volume, network • Optionally define stacks • Combinations of services Intro to Docker Containers for Oracle professionals 46
  • 45. WebLogic on Oracle Container Cloud Intro to Docker Containers for Oracle professionals 47
  • 47. Once upon a time – a container based microservice Intro to Docker Containers for Oracle professionals 49 µ http requests
  • 48. Where is the container running? • Any Docker Host – on premises or cloud based VM - or a Container Cloud Service • For example: Oracle Container Cloud Service Intro to Docker Containers for Oracle professionals 50 µ
  • 49. How did the container start running in the runtime? • Through a CI/CD Pipeline • Build process • Take a Basic runtime image – e.g. Linux plus Some Language VM • Add application code • Add runtime agents and tooling • Add platform/runtime configuration • Then Build the Image • Test the Image • Tag and Push Image to Registry • Deploy the image plus applicable configuration to a specific destination container runtime environment • The CI/CD Process is managed manually or triggered by development event Intro to Docker Containers for Oracle professionals 51 µ
  • 50. Wercker: Build, Test, Push and Deploy Pipelines for Containers Intro to Docker Containers for Oracle professionals 52 µ µ µ
  • 51. Kubernetes and Oracle Kubernes Engine Cloud The application and microservices runtime platform of tomorrow
  • 52. Containers • As vehicle for: • Encapsulate • Build • Share & Ship • Automated Tests • Deploy • Run • Scale • Relocate • Standardize Intro to Docker Containers for Oracle professionals 54
  • 53. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 55 Compute Node
  • 54. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 56 Compute Node Compute Node Compute Node
  • 55. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 57 Compute Node Compute Node Compute Node
  • 56. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 58 Compute Node Compute Node Compute Node
  • 57. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 59 Compute Node Compute Node Compute Node
  • 58. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 60 Compute Node Compute Node Compute Node Cloud Storage SAN
  • 59. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 61 Compute Node Compute Node Compute Node Cloud Storage SAN Configuration Map Configuration Map
  • 60. Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 62 Compute Node Compute Node Compute Node
  • 61. Compute Node Compute Node Compute Node Compute Node Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 63 Compute Node
  • 62. Compute Node Compute Node Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 64 Compute Node
  • 63. Compute Node Compute Node Looking for a runtime platform for Intro to Docker Containers for Oracle professionals 65 Compute Node v2 v2 v2 v2 v2
  • 64. Kubernetes (“pilot, steersman”) Intro to Docker Containers for Oracle professionals 66
  • 65. Intro to Docker Containers for Oracle professionals 67
  • 66. Intro to Docker Containers for Oracle professionals 68
  • 67. Intro to Docker Containers for Oracle professionals 69
  • 68. Intro to Docker Containers for Oracle professionals 70
  • 69. Oracle Docker Build Files GitHub Repo Building Docker containers with Oracle platform
  • 70. Example of Docker File • Build a Docker Container with Java 8 Runtime Intro to Docker Containers for Oracle professionals 72
  • 71. Build Docker Container for Oracle Database 12.2.0.1 Enterprise Edition • Download database installation binaries before building the container Intro to Docker Containers for Oracle professionals 73
  • 72. Why run Oracle Database on Docker? • Because we can… • Automated testing • Clone environments • Similar to PDB cloning • Quick provisioning of new environments • R&D • Production workloads? • Automated Ops/DBA => Autonomous Database (?) Intro to Docker Containers for Oracle professionals 74
  • 73. Running WebLogic Server in Docker Containers - when and why? Intro to Docker Containers for Oracle professionals 75
  • 74. Intro to Docker Containers for Oracle professionals 76
  • 76. Intro to Docker Containers for Oracle professionals 78
  • 77. Intro to Docker Containers for Oracle professionals 79
  • 78. Run Oracle Database from official Container Image • docker run -d -it –-name ORA12201_1 –P container-registry.oracle.com/database/enterprise:12.2.0.1 Intro to Docker Containers for Oracle professionals 80
  • 79. Run Oracle Database – from a container image Intro to Docker Containers for Oracle professionals 81
  • 80. Intro to Docker Containers for Oracle professionals 82
  • 81. Oracle Container Registry for Your Images • After build and before run – container images need to be stored • Secure (because runtime artefacts) • Accessible (& low latency) to deployment engine and container runtime • Scalable and Smart (no duplicate images and image layers) Intro to Docker Containers for Oracle professionals 83
  • 82. Oracle Cloud Infrastructure – Container Registry Intro to Docker Containers for Oracle professionals 84
  • 83. Going forward – what should be your moves? • Start playing. Intro to Docker Containers for Oracle professionals 85 https://www.katacoda.com/courses/docker
  • 84. Going forward – what should be your moves? • Learn about Docker • Brush up on your Linux skills • Install Docker and run some images • Experiment with Port, Link, Volume, Environment Variables • Create your own build file, build a container and commit as image • Push your own image to a Docker Registry • Using a trial on Oracle Cloud – run a container from your image on the Container Cloud or on the OCI Kubernetes Engine Cloud • Run containers based on the official Oracle Docker build files on GitHub • Run containers based on the official Oracle Docker images on Oracle Container Registry • Learn about Kubernetes (KataKoda is an excellent environment) • Experiment with Kubernetes locally (on minikube) • And on Oracle Kubernetes Engine Cloud Intro to Docker Containers for Oracle professionals 86
  • 85. Summary • Docker is a great technology to • Run • Share, Ship & Deliver • Build encapsulated environments with run time platform and application • Containers are likely the core run time unit to manage: deploy, configure, scale, monitor, interconnect, secure • Kubernetes is the de facto distributed container management platform for cloud and on premises • Oracle does Docker and Kubernetes in anger
  • 86. Thank you! • Blog: technology.amis.nl • Email: lucas.jellema@amis.nl • : @lucasjellema • : lucas-jellema • : www.amis.nl, info@amis.nl

Notas do Editor

  1. Session structure Introduce Containers - objectives, benefits, implementation Demo of Container build, package, ship and run Discuss Container Management systems - run time Container platforms, such as Oracle Container Cloud Demo of deploying and running a Container first locally then on the Oracle Container Cloud Discussion of CD, DevOps and microservices - and how the Orace platform components fit in (including a discussion of multitenant architecture in DB and WLS) Introduction of Oracle Docker Images Demonstration of building containers based on Oracle Docker Images Run multiple containers based on various Oracle Docker Images and have them interact with each other
  2. https://github.com/davidholiday/foxy https://blog.codeship.com/docker-guis/
  3. https://docs.docker.com/engine/reference/commandline/checkpoint_create/
  4. https://docs.docker.com/engine/reference/commandline/checkpoint_create/ https://yipee.io/2017/06/saving-and-restoring-container-state-with-criu/
  5. https://cloud.oracle.com/container-classic
  6. https://cloud.oracle.com/container-classic
  7. Deploy and Run (Docker Containers) Distributed infrastructure (scalable and available) Hide infrastructure from DevOps teams Auto-healing Elastic Scale Wire up the micros – connect dynamically (service discovery) Load Balance Provide Persistent storage Rolling Upgrade Configuration & Secret Management Secure
  8. Deploy and Run (Docker Containers) Distributed infrastructure (scalable and available) Hide infrastructure from DevOps teams Auto-healing Elastic Scale Wire up the micros – connect dynamically (service discovery) Load Balance Provide Persistent storage Rolling Upgrade Configuration & Secret Management Secure
  9. Deploy and Run (Docker Containers) Distributed infrastructure (scalable and available) Hide infrastructure from DevOps teams Auto-healing Elastic Scale Wire up the micros – connect dynamically (service discovery) Load Balance Provide Persistent storage Rolling Upgrade Configuration & Secret Management Secure
  10. https://github.com/oracle/docker-images
  11. WLS Roadmap – CON6474 Oracle OpenWorld 2017
  12. Migrate WebLogic to Containers – OOW2017
  13. https://container-registry.oracle.com
  14. https://www.katacoda.com/courses/docker