introduction into docker containers, the oracle platform and the oracle (native) container cloud...

71
and the Oracle Platform - Database, WebLogic & the Cloud Intro to Docker Containers AMIS Oracle OpenWorld 2017 Review October 20171

Upload: lucas-jellema

Post on 21-Jan-2018

306 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

and the Oracle Platform -Database, WebLogic & the Cloud

Intro to Docker Containers

AMIS Oracle OpenWorld 2017 Review – October 20171

Page 2: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Setup for Oracle OpenWorld DemoWhat I needed

• Local installation of a Kafka Cluster

• At least one Broker node and the Zookeeper

Kafka

Broker

Zookeeper

Demo Application

Page 3: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Setup for Oracle OpenWorld DemoWhat I received from Guido

• Simple text file – 140 lines

Titel van de presentatie 3

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

Page 4: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Setup for Oracle OpenWorld DemoWhat I created in a few minutes

Titel van de presentatie 4

Kafka

Broker

Zookeeper

Kafka

Rest ProxyKafka

Schema

Registry

Kafka

ConnectKafka

Connect UI

Kafka

Schema

Registry UI

Kafka

Manager

9092

2181

9000

8084

80018083

8081

8002

Page 5: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Titel van de presentatie 5

Page 6: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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 Container Engine Cloud

• Building Containers with Oracle platform from Oracle GitHub repo

• Oracle Container Registry with prebaked images for Oracle platform

• Going forward…

Page 7: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Linux essentials

• Applications share resources

Titel van de presentatie 7

Disk Storage

Memory

CPUs

Application A

Application B

Application C

• Network interface

• IP address

• Ports

• Users & groups

• Environment

Variables

• Packages

• Services

Page 8: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Linux essentials: Control Groups and Namespaces

• Compartmentalize Resources

into isolated

units

Titel van de presentatie 8

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

Page 9: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Linux essentials: Control Groups and Namespaces

• Expose units through

mapped network

ports

Titel van de presentatie 9

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

Page 10: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Linux essentials: Each unit runs its own processes

• Units run their own

processes:

• OS (Linux)

• Platform

• Application

Titel van de presentatie 10

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

Page 11: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

This stuff is complex

• Core Linux features were hard to use

Titel van de presentatie 11

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

Page 12: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Titel van de presentatie 12

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

Page 13: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Running Containers using Docker

• Create Container(s)

from Image plus:

• Port mapping

• Volume

• Environment

Variable

• (inter container)

Network

• Startup script

Titel van de presentatie 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

Application A Application B

Application C

Docker Hub

Docker Engine

Page 14: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Page 15: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Run container image on Docker host

Running Docker Containers

Titel van de presentatie15

Page 16: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Running Containers using Docker

16

Application A

Docker Hub

Docker Engine

docker run

--name ApplicationA

amis/NodeAppRunnerImage:latest

/bin/bash

amis/NodeAppRunnerImage:1.4

ApplicationA

Page 17: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Running Containers using Docker

Titel van de presentatie 17

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

ApplicationAAPP_HOME=

/home/apps/applicationA

PARAM1=

value1

Page 18: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Running Containers using Docker

Titel van de presentatie 18

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

ApplicationAAPP_HOME=

/home/apps/applicationA

PARAM1=

value1

Page 19: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Containers are ephemeral (*

Titel van de presentatie 19

(* Candidate for IT word of the year 2017

Page 20: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Container state that needs to survive should be on an externally mapped volume

Titel van de presentatie 20

Host Disk Volume

-v /data:/u01/app/data

/u01/app/data

Page 21: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Implicit Docker Container Image Interface:environment variables, ports, volumes

Titel van de presentatie 21

Docker Hub

link mysql

Parameters:

WORDPRESS_DB_PASSWORD,

WORDPRESS_DB_USER, …

Volume

..:/var/lib

/mysql

Parameters:

MYSQL_DATABASE,

MYSQL_ROOT_PASSWORD

Page 22: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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)

Page 23: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

GUI tools for Managing Docker Runtime

• Kitematic

• Portainer.io

• Simple Docker UI

• Dockstation

• Shipyard

• MicroBadger

• Foxy

Titel van de presentatie 23

Page 24: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Create a runnable Docker Container image

Building Docker Container Images

Titel van de presentatie24

Page 25: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Page 26: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Page 27: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Docker Build Files on GitHub

Titel van de presentatie 27

Summer

2015

Page 28: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Distribute Docker Container images using Container Registry and more

Shipping Docker Container Images

Titel van de presentatie28

Page 29: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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)

29

Page 30: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Public Docker

Registry

Docker Hub

Docker Image Registry

30

push

Private Docker

Registry

Docker Hub

push

Page 31: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Shipping Container Images

• Containers can be Exported and Imported

• Via TAR-files

• Images can be Saved and Loaded

• Via TAR-files

Page 32: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Leveraging Containers on the Oracle workfloor

Container Use Cases for Oracle Professionals

Titel van de presentatie32

Page 33: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Container Use Cases for Oracle professionals

• 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

Page 34: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

34

Oracle Database

DDL

DML scripts or Export for

Test Data

AppTest:R17.49.1

Page 35: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Run (Automated) Test

• Run container image for designated release

• with –rm flag

• start database

• Execute test

• No set up, no tear down

• Stop container

35

AppTest:R17.49.1

Oracle

Database

Test Data

Application

docker container run

-d -p 1521:1521

-rm AppTest:R17.49.1

Page 36: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

36

AppTest:R17.49.1

Page 37: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Manage Test Data Set for (automated) testsAfter 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

37

DDL

R17.51.1

DML scripts or Export for Test

Data Updates R17.51.1

AppTest:R17.51.1

AppTest:R17.49.1

Page 38: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Run (Automated) Test using Docker Snapshot (1)

• Run container image for designated release

• start database

• Create Container Checkpoint

for running container

38

AppTest:R17.49.1

Oracle

Database

Test Data

Application

docker container run

-d -p 1521:1521

--name=AppTestR17491 -rm

AppTest:R17.49.1

docker checkpoint create

--checkpoint-dir=${chkptdir}

--leave-running=false

AppTestR17491 AppTestR17491CheckPoint

Oracle

Database

Test Data

Application

AppTestR17491CheckPoint

Page 39: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Run (Automated) Test using Docker Snapshot (2)

• Start Container Checkpoint

• 0..3 seconds

• Execute test

• No set up, no tear down

• Stop Container

• Next test –

or even in parallel

39

Oracle

Database

Test Data

Application

AppTestR17491CheckPoint

Oracle

Database

Test Data

Application

AppTest:R17.49.1

docker container start

-–checkpoint=AppTestR17491CheckPoint

--checkpoint-dir=${chkptdir}

AppTestR17491

Page 40: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Oracle Container Cloud

Run Docker Containers on Oracle Cloud

Page 41: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Page 42: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

WebLogic on Oracle Container Cloud

Page 43: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Oracle Wercker

Automating CI/CD Pipeline for Containers

Page 44: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Once upon a time –a container based microservice

Container and Cloud Native & Serverless 44

µ

http requests

Page 45: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Container and Cloud Native & Serverless 45

µ

Page 46: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Container and Cloud Native & Serverless 46

µ

Page 47: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Wercker: Build, Test, Push and Deploy Pipelines for Containers

Container and Cloud Native & Serverless 47

µµ

µ

Page 48: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Kubernetes andOracle Container Engine Cloud

Microservices and the application runtime platform of tomorrow

Page 49: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Microservices at runtime

• Stateless

• Horizontally scalable

• Mutually Independent

• Deploy, upgrade, patch, relocate

• Can expose Public API (HTTP/REST)

and/or UI

• Communicate with each other through events

• Have their own bounded data context

• Do not rely on other microservices [for the data they need]

• Serverless – do not require allocated server, can be fired up

Generic Infrastructure Platform for running DevOps Products

µ µ µ µ µ

Page 50: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Application

Platform

Implementing Microservices

• Easy to Ship and Run

• On any premises and cloud

• With environment specific

configuration

• Easy to Scale and Manage

• Note: a microservice can

consist of multiple components

• For example: NGINX, Node, MySQL

50

Application

Platform

µ

µ

Page 51: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

How is availability - scaling, patching, fail-over, load balancing – taken care of?• Mapping of distributed physical resources to microservices and

containers

• Container Management Platform

• Does deployment, scaling, (rolling) upgrades

• Also load balancing and routing

• Injection of run time settings

• Kubernetes!

Container and Cloud Native & Serverless 51

Page 52: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Oracle Container Engine Cloud ==Managed Kubernetes Service

Container and Cloud Native & Serverless 52

Page 53: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Titel van de presentatie 53

Page 54: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Wercker Deployment Workflow –From Git to Managed Kubernetes Cluster

Titel van de presentatie 54

Page 55: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Kubernetes Dashboard

Titel van de presentatie 55

Page 56: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Container Native MicroservicesRuntime Platform

Managed Kubernetes

Open Service BrokerEvent ManagementAPI Registry

Foo2

IST

IO

Developer

Cloud

Cache

RDBMSLDAP/IdM NoSQL

Billing

EngineBlock

Storage

Voice

Recognition

µ

Page 57: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Oracle Docker Build Files GitHub Repo

Building Docker containers with Oracle platform

Page 58: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Example of Docker File

• Build a Docker Container

with Java 8 Runtime

Page 59: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Build Docker Container for Oracle Database 12.2.0.1 Enterprise Edition

• Download database

installation binaries

before building the

container

Page 60: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Comparing Database Consolidation & Management options

Options =>

Criteria

VMs Oracle Database

Multitenant

Containers

Performance

Overhead

Compute Resource

License

Scalability (horizontal)

Operations

Isolation

Availability

Supported

Titel van de presentatie 62

Page 61: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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 (?)

Titel van de presentatie 63

Page 62: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Running WebLogic Server in Docker Containers -when and why?

Page 63: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Titel van de presentatie 65

Page 64: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Oracle Container Registry

Running containers from prebuilt images

Page 65: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Container and Cloud Native & Serverless 67

Page 66: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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

Page 67: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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)

Titel van de presentatie 69

Page 68: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Going forward – what should be your moves?

• Start playing.

Titel van de presentatie 70

https://www.katacoda.com/courses/docker

Page 69: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

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 Container Cloud – run a container

from your image on the 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 eventually on Oracle Container Engine Cloud

Titel van de presentatie 71

Page 70: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Summary

Titel van de presentatie72

• 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

Page 71: Introduction into Docker Containers, the Oracle Platform and the Oracle (Native) Container Cloud Services

Thank you!

Titel van de presentatie73

• Blog: technology.amis.nl

• Email: [email protected]

• : @lucasjellema

• : lucas-jellema

• : www.amis.nl, [email protected]