Containers Revealed: Easy as Tic-Tac-Toe
@ViscosityNA
www.viscosityna.com
Latin America Community Tour '23 - Mexico
August 4, 2023
Sean Scott
Oracle ACE Director
DoK Community Ambassador
Managing Principal Consultant
@oraclesean
linkedin.com/in/soscott/
sean.scott@viscosityna.com
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
@ViscosityNA
www.viscosityna.com
Sean Scott
Oracle ACE Director
DoK Community Ambassador
Managing Principal Consultant
@oraclesean
linkedin.com/in/soscott/
sean.scott@viscosityna.com
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 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 5
Slide 5 text
@ViscosityNA
www.viscosityna.com
vo • cab • u • lar • y
@ViscosityNA
www.viscosityna.com
What Are Containers?
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
Containers are like lightweight Virtual Machines, right?
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 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 14
Slide 14 text
No content
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
@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.