docker and the database factory - s3-us-west-2.amazonaws.comdays+2018/oracledocker.pdf · docker...

51
Docker and the Database Factory or Absolute Beginning Docker for the Oracle Professional Sean Scott @oraclesean [email protected]

Upload: others

Post on 21-Oct-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Docker and the Database Factoryor

Absolute Beginning Docker for the Oracle Professional

Sean [email protected]@gmail.com

Page 2: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

About Me20+ years Oracle DBA, consultantRAC SIG Board MemberIOUG Experience CommitteePerformance, DR, HA, AutomationUltramarathons, climbing, canyoneering

Presenter
Presentation Notes
I’ve been working with Oracle as a DBA for over 20 years Ran my own consultancy for 12 years RAC SIG board member Member of the IOUG experience committee at collaborate 18 My interests are performance, disaster recovery, high availability and RAC, and automation I’m married with two daughters and a son, an almost 2yo grandson and a granddaughter on the way. I live in Idaho where there are only a few thousand people and you can still get cool personalized plates. I battle being a grandfather by shaving off the grey hairs, running ultramarathons and climbing, and talking about cool things like devops and docker and slack. Hello fellow kids! I’ve worked for BBcom for a little over five years. World’s largest supplier of online nutritional products. happy and excited to announce that I’m about to embark on a new adventure.
Page 3: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Docker And The Database Factory

Presenter
Presentation Notes
A lot of Oracle folks I know are apprehensive about Docker and containers and they’re not really sure why or how they should be using them. After doing some exploring myself I realized that they’re actually pretty easy and straightforward to use. I am not by any means an expert on Docker, and I’ve been using it for less than a year. In that time I’ve learned that it’s a great tool for learning new technologies and experimenting. Moreover, it’s great for being able to experiment with several things at once because containers are economical on system resources and most importantly, space. I wanted to make this fun, too, so if you’re familiar with Docker you know their logo is the little cartoon whale. So I made my own Docker whale, Whale-y Wonka, to take you on a trip through his Database Factory!
Page 4: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Docker And The Database Factory

Presenter
Presentation Notes
I’m assuming that most attendees here have limited exposure to Docker and would be exploring it as a way to get a new technology up and running on a local system quickly and painlessly. A lot of what we’ll discuss here when it comes to pros and cons is directed more toward local development environments and not necessarily production systems, though some of the arguments will overlap.
Page 5: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

containers are not virtual machines!

Virtual Machines

Hypervisor runs on host

Guest OS runs within Hypervisor

Each VM has its own OS

Hypervisor virtualizes hardware

Can use any OS on host

Full OS/binary installs large/heavy

Containers

Docker engine runs on host

Containers share host kernel

Each container shares OS

Docker engine virtualizes OS

Bound to host OS

Containers often small/light

Presenter
Presentation Notes
First, let’s dispel some common misconceptions about containers. I’ve heard a lot of people suggest that containers are “kinda like a VM”. They are not. There are big differences. Hypervisor runs on host vs. Container engine runs on host Multiple VM means distinct and separate guest OS’ runs on Hypervisor vs. Multiple containers share host and kernel resources Each container has its own OS vs. Each container shares the OS Hypervisors virtualize access to underlying hardware vs. Containers virtualize access to the underlying OS VM can run any OS on the host vs. Containers are bound to the host’s OS VM are full installs of an OS and application, often heavy vs. Containers are usually much smaller and lighter implementations
Page 6: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Containers are isolated, but share the OS and, whereappropriate, binaries and libraries.

The result: significantly faster deployment,lower overhead, easier migration, andfaster restart.

Presenter
Presentation Notes
This is a visual representation of the differences. On the VM, applications A and A-prime are using the same binaries and libraries. Each requires separate installations. In the container, A and A-prime share their identical binaries and libraries.
Page 7: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Argumetents against virtual machines

Presenter
Presentation Notes
Some reasons you might not want to use a VM on your local machine. Building a VM can be time consuming. Charlie here does not appear to be having a good time stirring his VM environment. He had to download and install an entire operating system and make a bunch of pretty critical configuration decisions. Once this thing is up and running he’s gonna be pretty upset if something goes wrong because he’s invested a lot of time in it.
Page 8: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Argumetents against virtual machines

Presenter
Presentation Notes
Augustus has his VM running but you know what? It keeps crashing on him any time he opens more than three tabs in Chrome. Feature? Bug? Who knows, but it’s pretty annoying. I guess Augustus is realizing that running a full install of an enterprise class OS and database in a virtualized environment assigned 75% of the system’s native memory isn’t a great idea. Or maybe he shouldn’t open so many tabs.
Page 9: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Argumetents against virtual machines

Presenter
Presentation Notes
Veruca’s VM seems to be constantly demanding more of something and she caves to it like the enabling parent of a spoiled rotten child.
Page 10: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Argumetents against virtual machines

Presenter
Presentation Notes
Veruca’s VM seems to have read the children’s story, “If you give a mouse a cookie” because it’s become particularly demanding of her.
Page 11: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Argumetents against virtual machines

Presenter
Presentation Notes
Eventually Veruca’s VM wants too much and turns into a bad egg. We know what happens to bad eggs. They go down the garbage chute, possibly to the incinerator. That’s a lot of wasted work building that VM just to scrap it and try over.
Page 12: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Argumetents against virtual machines

Presenter
Presentation Notes
Violet has run into another problem. Her VM and all the snapshots she took along the way—you know, the “things seemed to be working at this point but the next part fails” snapshots—have grown so big that they’re taking up all the space on her machine. Looks like we need to send her VM off to the squeezing room to make some more space!
Page 13: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Argumetents against virtual machines

Presenter
Presentation Notes
Here, Veruca has another problem with her machine and has found herself in a rabbit hole called “Stack Overflow” looking for answers to an obscure issue. I apologize that Mike Teavee isn’t represented here, I couldn’t find a good gif of him.
Page 14: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Container AdvantagesEfficient: Containers share host/kernel resources

Speed: Minimal containers provision, load, and start quickly

Lightweight: Maximize infrastructure capabilities

Lower TCO: Less maintenance, higher app density

Transportable: Isolated systems easily moved among hosts

Presenter
Presentation Notes
The things that make containers ideal for running local experiments are: They’re efficient. By sharing an OS and kernel resources, they’re economical to run and avoid the resource-hoggyness of virtual machines They’re fast. Because they represent a minimal build of binaries and libraries needed to run a service or application there’s a lot less to install and build. They’re lightweight. There’s no bloat of an OS and no need to worry about reserving or sizing resources like disk space appropriately. They’re running natively on the local machine rather than through a hypervisor. Everything is right there. I can put a lot more containers on a single machine than I can VMs. My laptop surrenders if I try to run more than 3 VMs, and I’m pretty much out of space. In contrast I’ve had a dozen containers running simultaneously and didn’t notice any impact. In the real world this translates to a greater density of applications or services on the same infrastructure. They’re transportable. I can share containers with coworkers. In fact, my exposure to Docker was when our developers wanted a gold image of a database for development. I can build an image and populate it with data and put it on a file share. When the data gets updated, I create a new data set and replace the old one. One of the coolest things I’ve discovered about Docker is that I can spin up a container against an existing database and it just works. No need to import or recover data.
Page 15: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Container AdvantagesOn Laptop and Local systems:

Great for experimenting!

Small footprint, low resource demands are ideal

Easier to create and destroy than a native install or VM

Presenter
Presentation Notes
Our use case here for Dockerizing a database is to experiment and explore. The investment of time and resources is a fraction of what it takes to build out a VM. This makes it pretty easy to build a new one and you won’t feel so bad about burning one down when you’re through with it. Personally, knowing that the effort to get to a successful working environment is short means I’m a lot more likely to pursue it. If I want to play with something but the effort involved isn’t worth the investment of figuring out how to get to the starting point, I’m much less likely to go after it if my time is scarce.
Page 16: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Why Dockerize Databases?Speed

Size

Convenience

Easy to duplicate

Easy to automate

Portable

Presenter
Presentation Notes
The same arguments in favor of container technology apply to databases. Speed, size, convenience and portability. Additionally it’s really easy to automate a Docker database build, much more so (IMO) than a native install or VM.
Page 17: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Make Your DatabIgs S m a l l e r

Presenter
Presentation Notes
OK so I lied, I do have a gif of Mike Teavee. Here we are making a database smaller by putting it in a container in the cloud. Turns out Roald Dahl invented cloud databases.
Page 18: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Easy to Automate and Orchestrate

Presenter
Presentation Notes
I’ve found that containers are also much easier to automate and orchestrate than VMs, even when using a tool like Vagrant. There just seems to be a lot less to go wrong in a container build than a full VM. This isn’t to say that VMs don’t have a valuable place—remember, we’re addressing an introductory topic here to get people up and running quickly and effortlessly on new technologies and in many cases Docker is going to be the best and fastest path to that end.
Page 19: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Great for running microservices

Presenter
Presentation Notes
Because containers are often made of a limited set of binaries and libraries, they’re also great for running micro services. I only mention this because I had this awesome oompa-loompa gif that I wanted to use.
Page 20: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

A Basic Oracle Docker ContainerHost infrastructure

Host OS

Docker software

Oracle container

Docker image

Database software

Ports/Networking

Volumes

Presenter
Presentation Notes
The things that make up a container are: Your local host or infrastructure, in this case my laptop Your local host OS The Docker software The container, which consists of a Docker image and the database (or other) software Any ports or networking you need to communicate with the container And a volume if you want to persist data
Page 21: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

DownloadsDownload:

Docker: https://www.docker.com/community-edition

Oracle Docker Images: https://github.com/oracle/docker-images

Oracle Database: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

Presenter
Presentation Notes
First, how long would it take you to get a little test environment running on your local machine using a VM or a native install of the Oracle software through the runInstaller? 20 minutes, an hour, two hours? We can do better than that! First I need to download three things Docker software Oracle Docker images Database software from OTN for 12c
Page 22: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Oracle on Docker Install, Step by Step

Prepare local system

~/docker

~/oradata (optional if persistence is desired)

Copy Docker repo to ~/docker/docker-images-master

Install Docker

Presenter
Presentation Notes
My initial setup is pretty straightforward. I create two directories. One each for docker and the oracle data I want to persist. I install Docker and then copy or unzip the image repo in ~/docker/docker-images-master
Page 23: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Oracle on Docker Install, Step by Step

Copy database zip file to:

~/docker/docker-images-master/OracleDatabase/dockerfiles/$DB_VERSION

Available versions: 11.2.0.2, 12.1.0.2, 12.2.0.1

Do not unzip!

Presenter
Presentation Notes
Copy the database file to the versioned database directory
Page 24: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Oracle on Docker Install, Step by Step

Presenter
Presentation Notes
OK, install done! Let’s build and run a database container!
Page 25: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Oracle on Docker Install, Step by Step

Dockerfile—Instructions for creating a Docker image

Docker Image—Prepared set of files ready to be run as a container

Docker Container—Runtime product of a Docker image

Containers are an instantiation of an image

Multiple containers can use the same image

Containers don’t “exist” unless running

Presenter
Presentation Notes
The downloaded Oracle Docker repo contains the Dockerfiles we need so we don’t have to do anything
Page 26: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Oracle on Docker Install, Step by Step

Build an image:

cd ~/docker/docker-images-master/OracleDatabase/dockerfiles/

./buildDockerImage.sh -v 12.2.0.1 -e

Script creates a name of oracle/database:$VERSION

Presenter
Presentation Notes
We build an image using the supplied script (passing a few parameters) Then we run the image to build a container, again specifying a few parameters. Boom! Database built and ready to use!
Page 27: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure
Presenter
Presentation Notes
Along the way you’ll get a long set of results. This is the very start of the image build.
Page 28: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure
Presenter
Presentation Notes
It’ll go out and get any packages it needs
Page 29: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure
Presenter
Presentation Notes
Once the OS part is set up you’ll see something familiar: Remember that we didn’t unzip the database file; that’s because Docker is doing it for us and just getting the files it absolutely needs to have.
Page 30: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure
Presenter
Presentation Notes
Once the database components themselves are copied into place you’ll see the installation run automatically
Page 31: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure
Presenter
Presentation Notes
And when it’s done, you’ll see a summary. Here it took 10 1/2 minutes to build a complete image of a minimal Linux OS and Oracle database that we’ll be able to use to create actual containers.
Page 32: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Oracle on Docker Install, Step by Step

Create a simple Docker container

docker run --name utoug \-p 1521:1521 \oracle/database:12.2.0.1-ee

Presenter
Presentation Notes
We build an image using the supplied script (passing a few parameters) Then we run the image to build a container, again specifying a few parameters. Boom! Database built and ready to use!
Page 33: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Demonstration

Presenter
Presentation Notes
Let’s take a look at the whole process, less downloading the software itself, shall we?
Page 34: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Demonstration

Presenter
Presentation Notes
I know demos are often bad ideas so hopefully this goes well!
Page 35: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Docker is Ephemeral

Contents of a container exist as long as the container itself

Changes to a container are lost when the container is stopped

What?! How is this good for databases?

Presenter
Presentation Notes
We build an image using the supplied script (passing a few parameters) Then we run the image to build a container, again specifying a few parameters. Boom! Database built and ready to use!
Page 36: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Docker and Persistence

Create a simple container with persistence:

docker run -dit --name utoug \-p 1521:1521 -p 5500:5500 \-v ~/oradata:/opt/oracle/oradata \oracle/database:12.2.0.1-ee

Presenter
Presentation Notes
Here I’m running a nearly identical command but specifying a volume. This volume command tells Docker to translate the contents of /opt/oracle/oradata into a local directory on my machine called ~/oradata. The advantage to this is that any change I make to my data it is kept separate from the built image itself
Page 37: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Docker and Persistence

Leverage external volumes to provide persistence

Docker creates subdirectories for each container (instance) on the volume:

~/oradata/$container_name

~/oradata/dbconfig/$container_name

Multiple databases can be served in this way

Presenter
Presentation Notes
Docker will create subdirectories in that oradata directory itself for configurations and to separate out datafiles used by the container database. Remember that a Container is just a running product of an image. Every Container started from the same image has the same configuration and properties. But when you define an external, persistent volume, Docker uses it.
Page 38: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Docker and Persistence

When running a container using a volume, Docker checks for existing data

If nothing there creates what it needs

Else uses what’s there

Presenter
Presentation Notes
Docker will create subdirectories in that oradata directory itself for configurations and to separate out datafiles used by the container database. Remember that a Container is just a running product of an image. Every Container started from the same image has the same configuration and properties. But when you define an external, persistent volume, Docker uses it.
Page 39: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Persistence and Portability

Separate instance files on volumes

Define volume location

Copy volume contents to new host

Copy/build image

Create container, specifying existing volume/location

Presenter
Presentation Notes
I mentioned portability and persisting data before. Let’s talk a little more about that. First, containers are meant to be ephemeral, meaning we create one, it does something, and when we’re done with it we destroy it. In the case of a database, this would mean you’d lose the database and its data. That may not always be what we want, though, so we can persist data by defining a local volume for the data and configurations that’s “external” or separate from the container. In this case we can take the contents of that volume and put it on another machine, then run a container and define the volume. When Docker runs it looks in that external volume location to see what’s there and if it sees a database it doesn’t create a new one, it just opens what’s there.
Page 40: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Presenter
Presentation Notes
Some additional basic how do I questions and answers
Page 41: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Stop and Start a Container

docker start

docker stop

List Running Containers

docker ps

List All Containers

docker ps -a

Remove a Container

docker rm

Remove an Image

docker rmi

Presenter
Presentation Notes
K, cool, we have a database now. So what are some things we might want to do with a container. Start and stop Remove it Pretty simple
Page 42: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Connect with SQL*Developer?

Page 43: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Run OS/shell commands?

docker exec utoug lsnrctl status

Run OS/shell commands?

docker exec utoug $PATH/$filename.sh [$1...]

Page 44: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Connect to a container’s interactive command line?

docker exec -ti utoug bash

Page 45: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Run SQL*Plus natively on the container?

docker exec -ti utoug bash

sqlplus system/manager@orclpdb1

Page 46: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Change the password?

cd ~/docker/docker-images-master/OracleDatabase/dockerfiles/12.2.0.1

docker exec utoug ./setPassword.sh manager

Page 47: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

How Do I...

Create a container for APEX?

docker run -dit --name apex \--network=oracle_network \-e ORACLE_PWD=manager \-TZ=America/Denver \-p 32712:1521 -p 5500:5500 \-v ~/oradata:/opt/oracle/oradata \-v ~/docker/apex/5.1.4:/tmp/apex-install \oracle/database:12.2.0.1-ee

Presenter
Presentation Notes
We build an image using the supplied script (passing a few parameters) Then we run the image to build a container, again specifying a few parameters. Boom! Database built and ready to use!
Page 48: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

ReferencesMaria Colgan: “Oracle 12c Now Available on Docker”

https://sqlmaria.com/2017/04/27/oracle-database-12c-now-available-on-docker/

Steven Feuerstein: “Getting my Oracle 12c Database Release 2 up and running on Mac via Docker”

http://stevenfeuersteinonplsql.blogspot.com/2017/05/getting-my-oracle-database-12c-release.html

Page 49: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Questions?

Presenter
Presentation Notes
I hope you enjoyed the presentation and the lighthearted look at Oracle on Docker, and that you’ll leave here and give Docker a shot. It really is pretty simple to use and it’s got a great community over at Oracle working on their container repository to make it simple and straightforward to use. The neat thing is that it’s just as easy to create containers for just about any popular technology out there. Any questions?
Page 50: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure

Thank You!Sean [email protected]@gmail.com

Presenter
Presentation Notes
Again, thank you for attending and thank you UTOUG for throwing a great events here and inviting me to speak today! Feel free to reach out to me if you have questions or comments and don’t forget to fill out your evaluations!
Page 51: Docker and the Database Factory - s3-us-west-2.amazonaws.comDays+2018/OracleDocker.pdf · Docker And The Database Factory. I’m assuming that most attendees here have limited exposure