1
00:00:00,000 --> 00:00:09,920
This video is about container runtimes.

2
00:00:09,920 --> 00:00:13,600
The container runtime is a software that runs a container.

3
00:00:13,600 --> 00:00:18,080
And common container runtimes are ContainerD and Cryo.

4
00:00:18,080 --> 00:00:22,280
You write C-R-I-O, but Cryo is the way to pronounce it.

5
00:00:22,280 --> 00:00:26,080
The container runtime is a part of the container engine.

6
00:00:26,080 --> 00:00:29,959
And the container engine is a complete software solution that is used to start

7
00:00:29,959 --> 00:00:32,279
and manage the container.

8
00:00:32,279 --> 00:00:35,400
Docker and PubMed are the most common container engines.

9
00:00:35,400 --> 00:00:40,040
There are some small other ones around as well.

10
00:00:40,040 --> 00:00:45,439
Docker started the container revolution in the year 2013-2014.

11
00:00:45,439 --> 00:00:48,919
And Docker has been the dominant container engine until the release of

12
00:00:48,919 --> 00:00:53,080
Red Hat Enterprise Linux 8 in 2018.

13
00:00:53,080 --> 00:00:57,959
And that is because Red Hat didn't want to be depending on the Docker development.

14
00:00:57,959 --> 00:01:00,439
Red Hat wanted something themselves.

15
00:01:00,439 --> 00:01:02,759
And that is why with the release of RHEL 8,

16
00:01:02,759 --> 00:01:05,919
Red Hat offered PubMed as a replacement for Docker.

17
00:01:05,919 --> 00:01:07,760
And it dropped support for Docker.

18
00:01:07,760 --> 00:01:09,160
And in case you are wondering,

19
00:01:09,160 --> 00:01:12,599
wasn't that problematic for current Red Hat Docker users?

20
00:01:12,599 --> 00:01:17,839
No, because container images are standardized in the Open Containers Initiative.

21
00:01:17,839 --> 00:01:23,919
And if you just replace Docker with PubMed, it would work.

22
00:01:23,919 --> 00:01:30,680
Also because PubMed is using a CLI experience that's completely similar to the Docker CLI,

23
00:01:30,680 --> 00:01:37,000
PubMed is now commonly available in use in all the distributions as an alternative for Docker.

24
00:01:37,000 --> 00:01:40,879
Now let me tell you how you can use Docker on Ubuntu.

25
00:01:40,879 --> 00:01:44,440
If you want to use Docker on Ubuntu, you need to install it.

26
00:01:44,440 --> 00:01:45,680
That's pretty easy.

27
00:01:45,680 --> 00:01:49,120
Just use sudo apt install docker.io.

28
00:01:49,120 --> 00:01:52,160
PubMed on Red Hat does not need any further installation

29
00:01:52,160 --> 00:01:59,080
because it's part of the default installation of most Red Hat and Red Hat family installation patterns.

30
00:01:59,080 --> 00:02:05,279
Only on minimal installations, you may have to use dnf install pubmed to get your hands on it.

31
00:02:05,279 --> 00:02:08,960
Let me show you how to install Docker on Ubuntu.

32
00:02:08,960 --> 00:02:10,559
So how do we install Docker?

33
00:02:10,559 --> 00:02:15,520
Well, simple, sudo apt install docker.io.

34
00:02:15,520 --> 00:02:17,160
And that should be doing it.

35
00:02:17,160 --> 00:02:21,600
So how about a first test drive, docker run nginx.

36
00:02:21,600 --> 00:02:23,399
Oh, no, permission denied.

37
00:02:23,399 --> 00:02:24,919
You know what is going on?

38
00:02:24,919 --> 00:02:30,240
In order to run Docker, the user who wants to run Docker needs to be a member of the Docker group.

39
00:02:30,240 --> 00:02:40,360
So I'm going to use sudo usermod minus a uppercase G Docker for student, which is my local account.

40
00:02:40,360 --> 00:02:45,520
Next, the problematic thing is that I would need to log out and log in again.

41
00:02:45,520 --> 00:02:52,520
But there's a little trick when I use new GRP Docker and I use ID again.

42
00:02:52,520 --> 00:02:55,559
Now you can see that I'm a member of the group Docker.

43
00:02:55,559 --> 00:03:01,279
And as a result, I should be able to use Docker run minus D nginx.

44
00:03:01,279 --> 00:03:03,639
Minus D is running it in detached mode.

45
00:03:03,639 --> 00:03:07,440
And there we can see that it is unable to find the image locally.

46
00:03:07,440 --> 00:03:09,960
It is running the image and it just did.

47
00:03:09,960 --> 00:03:11,679
So we have Docker up and running.

48
00:03:11,679 --> 00:03:15,479
Oh, and don't try to install Docker on Red Hat and family.

49
00:03:15,479 --> 00:03:18,559
Because on Red Hat and family, it's really not supported.

50
00:03:18,559 --> 00:03:22,199
And it will break with every single software update you do.

51
00:03:22,199 --> 00:03:25,240
On Red Hat and family, Podman is the alternative.

52
00:03:25,240 --> 00:03:30,000
And the good news is that Podman has the exact same command line experience as Docker.

53
00:03:30,000 --> 00:03:31,839
All the arguments are the same.

54
00:03:31,839 --> 00:03:37,759
So instead of Docker run minus D nginx, you would use Podman run minus D nginx.

55
00:03:37,759 --> 00:03:40,440
More about this in the next couple of videos.

