Title : Container Concepts ==========================
Hello, and welcome to this video which will provide a
brief high-level overview outlining how, or why, containers could be helpful for your
business, introduce Podman and its interchangeability with Docker and briefly outlining what a container
is.
You may have heard references to 'Docker', and may be even aware that it uses containers.
And then think 'oh dear, is this just another trendy fad?'
Well, actually Podman & Docker maybe relatively recent programs, however the roots of modern
day containerisation stretch back roughly 40 years, so the underlying technology is
actually well proven.
(Breakout to show previous video) If you're interested, in learning more about
this timeline please take a look at a separate video in our Podman series and checkout the
'Use chroot on Oracle Linux 8' video. (Return to main dialogue)
So, moving on what drove the desire towards the more recent adoption of containerisation?
Well, a key driver was that the ever increasing complexity of software has made installing
and configuring it, ever more problematic.
All too often the developers of the system were unable to ensure that what works for
them while they are writing it, could also be guaranteed to work when shipped to the
customer's site.
Hence the search began for a way to reduce, or remove the problems related to install
& configuration of software at customer's sites.
Numerous things were tried, such as Linux Containers and virtual machines.
Whilst these had their merits, and their use cases, they still required an install process
at the end-users computer system thereby not preventing the 'it works for me' scenario
from occurring...
Then Docker was released in 2013, greatly simplifying the use of containers, and the
rest, as they say, is history...
Hopefully that outlines why containers are increasingly used, so let's move on to Podman.
Although, we can't look at Podman without considering how it relates to Docker...
Well, Docker is open source software providing a simple to use, command-line interface (CLI)
environment that greatly simplifies the effort required to use Linux Containers.
Likewise, Podman also provides a CLI similar to that used by Docker whilst adding some
features not found in Docker such as the ability to run containers either as root, or as any
un-privileged user.
However, because Podman is the only solution supported on Oracle Linux 8, henceforth I
will only refer to Podman.
Podman is a daemonless, open source tool that provides a way to build, share, run or find
containers, conforming to the the Open Containers Initiative (OCI) format.
It's CLI is immediately familiar to anyone who is also conversant with Docker.
It can even execute Docker commands by directly aliasing Docker to Podman like this: alias
docker=podman
OK, well that's enough on Podman for now, let's move on swiftly and take a brief look
at container concepts.
Put succinctly, a container can be thought of as being like a sealed physical box, or
shipping container which contains the pre-configured application all ready to run.
So how does the sealed container communicate to the external environment?
After all a sealed box is not a realistic way to run software in an ever more integrated
global environment is it?
Well, this is achieved the same way as would be needed on a physical computer; so the Podman
administrator defines and configures:
a hostname
an IP Address
and filesystem/storage definitions that are then used to provide controlled access between
the container and the computer it is being run on.
In this way Podman has all it needs to run the software in the container as though it
were physically installed on your computer.
I hope this overview of what a container is, and how Podman fits in the picture has helped.
In case you were wondering, I will provide more detail on how containers are made up,
and how they differ from using a Virtual machine in future videos in this series.
So many thanks for watching.
For additional information on Oracle Podman please access the Oracle Linux documentation,
or Oracle Linux learning library.