Containers Revealed: Easy as Tic-Tac-Toe
Sean Scott
Oracle ACE Director
DoK Community Ambassador
Managing Principal Consultant
@oraclesean
linkedin.com/in/soscott/
sean.scott@viscosityna.com
@ViscosityNA
www.viscosityna.com
Latin America Community Tour '23 - Costa Rica
July 31, 2023
Slide 2
Slide 2 text
DATABASE RELIABILITY ENGINEERING ⁘ DEVOPS & AUTOMATION
HIGH AVAILABILITY ⁘ BUSINESS CONTINUITY ⁘ DISASTER RECOVERY
MODERNIZATION ⁘ OBSERVABILITY ⁘ ENGINEERED SYSTEMS
AutoUpgrade ⁘ Zero Downtime Migrations ⁘ Patching
Real Application Clusters ⁘ Data Guard ⁘ Sharding
Docker/Containers ⁘ Terraform ⁘ Ansible
Exadata ⁘ Oracle Database Appliance
AHF ⁘ TFA ⁘ GIMR ⁘ CHA
Sean Scott
Oracle ACE Director
DoK Community Ambassador
Managing Principal Consultant
@oraclesean
linkedin.com/in/soscott/
sean.scott@viscosityna.com
@ViscosityNA
www.viscosityna.com
Slide 3
Slide 3 text
@ViscosityNA
www.viscosityna.com
Oracle on Docker
Running Oracle Databases in Linux Containers
Download a free sample chapter:
https:/
/oraclesean.com
20% Discount Code: OracleDocker
https:/
/link.springer.com
Slide 4
Slide 4 text
@ViscosityNA
www.viscosityna.com
What Are Containers?
Slide 5
Slide 5 text
Containers are like lightweight Virtual Machines, right?
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
@ViscosityNA
www.viscosityna.com
Three databases Three schemas
Slide 8
Slide 8 text
@ViscosityNA
www.viscosityna.com
Three full operating systems Three application/executable directories
Slide 9
Slide 9 text
@ViscosityNA
www.viscosityna.com
Three full operating systems Three application/executable directories
Slide 10
Slide 10 text
@ViscosityNA
www.viscosityna.com
www.viscosityna.com @ViscosityNA
13 Oracle Databases on a Laptop
2018 MacBook Pro 15", 2.2GHz 6-core Intel Core i7, 16GB, 1TB SSD
Slide 11
Slide 11 text
@ViscosityNA
www.viscosityna.com
Virtual Machines: Bootable OS, often heavy
A 100-page book of games & puzzles
Containers: Support one application or service
A sheet of paper with a Tic-Tac-Toe grid
Slide 12
Slide 12 text
@ViscosityNA
www.viscosityna.com
vo • cab • u • lar • y
@ViscosityNA
www.viscosityna.com
Games have structured playing
surfaces and rules.
Slide 17
Slide 17 text
@ViscosityNA
www.viscosityna.com
Services deliver games to players.
Slide 18
Slide 18 text
@ViscosityNA
www.viscosityna.com
Images include the
game rules and playing surface.
Slide 19
Slide 19 text
@ViscosityNA
www.viscosityna.com
Images are a minimal filesystem & metadata
needed to run a service.
Slide 20
Slide 20 text
@ViscosityNA
www.viscosityna.com
Running an image starts a Container.
Slide 21
Slide 21 text
@ViscosityNA
www.viscosityna.com
A container is:
A process on a host, and;
A Union Filesystem.
Slide 22
Slide 22 text
@ViscosityNA
www.viscosityna.com
Container processes are isolated.
Slide 23
Slide 23 text
@ViscosityNA
www.viscosityna.com
A Union Filesystem has three layers:
A Merge or Union Layer.
An Upper Layer.
A Lower Layer.
Slide 24
Slide 24 text
@ViscosityNA
www.viscosityna.com
A Union Filesystem has three layers:
A Merge or Union Layer: The game.
An Upper Layer: The container.
A Lower Layer: The image.
Slide 25
Slide 25 text
@ViscosityNA
www.viscosityna.com
Slide 26
Slide 26 text
@ViscosityNA
www.viscosityna.com
The Upper (merge) layer isn't "real."
Slide 27
Slide 27 text
@ViscosityNA
www.viscosityna.com
The Upper (merge) layer isn't "real."
It's a perceived (calculated) union of:
• The game board & rules
• Game play
Slide 28
Slide 28 text
@ViscosityNA
www.viscosityna.com
Containers persist state (moves) in the
run-time layer of its Union Filesystem.
Containers are stateful.
Slide 29
Slide 29 text
@ViscosityNA
www.viscosityna.com
Deleting a container removes its
Union Filesystem (and its run-time layer).
Containers are Ephemeral
Slide 30
Slide 30 text
@ViscosityNA
www.viscosityna.com
Images are immutable and never change.
Slide 31
Slide 31 text
@ViscosityNA
www.viscosityna.com
Stalemate!
Slide 32
Slide 32 text
@ViscosityNA
www.viscosityna.com
Shift the Image Right
Moves fall off the
game board:
Changing an image changes the game!
Slide 33
Slide 33 text
@ViscosityNA
www.viscosityna.com
Images are immutable and can't persist state
information. They are stateless.
Slide 34
Slide 34 text
@ViscosityNA
www.viscosityna.com
Images = Static
Containers = Living
Slide 35
Slide 35 text
@ViscosityNA
www.viscosityna.com
Containers are Magic!
Slide 36
Slide 36 text
@ViscosityNA
www.viscosityna.com
How much space do three containers use?
500MB
+ 500MB
+ 500MB
500MB
500MB
+ 500MB
+ 500MB
1,500MB
500MB
500MB 500MB
+
Slide 37
Slide 37 text
@ViscosityNA
www.viscosityna.com
Multiple identical containers will share an image.