If we look at any computer system, we can see that there is always a hardware architecture organized 1
around the motherboard. 2
The processor is the central point of this motherboard and depending on its type, it will use different 3
instructions. 4
For example, in tablets and phones, ARM processors are often used. 5
This is also the one used on the famous RaspberryPi computer. 6
In PCs and Macs, we have x86 architecture processors, so they execute other instructions to run programs. 7
Once we've chosen our processor, we install an operating system. 8
It will be the interface between the user application and the hardware. And all of us, depending on 9
our affinities, we will use Windows, Linux or Mac OS. 10
Each time we want to install an application, it will require a certain numbers of libraries and dependencies 11
and to make this application works properly, we have to be sure that these libraries and dependencies 12
are present on the system before the installation process. 13
The problem is that libraries dependencies on the application themselves are specific for an operating 14
system and specific for process type. 15
That means that when we want to install something, we end up by looking for the right binaries and 16
associated libraries, and often we're guided by complicated tutorials. 17
But the other thing is that often when we install libraries for one application, it's possible that 18
the new installation corrupt the previous one which was properly working. 19
So we need to simplify the installation process by providing a complete separated environment for each 20
of our application. 21
We want something independent of the processor type and independent of the operating system we're working 22
on. 23
And that's where Docker comes in, because it's going to manage this interface between the system and 24
the applications. In the end, 25
the only difficulty is to install Docker with installation processes, of course, dependent on each 26
environment. 27
Fortunately, it's very well explained in the official documentation. 28
We'll install it together on Windows and make a small demonstration. 29
It's called Docker Desktop. 30
It's also available for Linux and Mac OS. 31
Later in this course, I will also use it on a remote server, so I will also install it on my public 32
Linux server. 33
So to install Docker on Windows, we just need to download the latest version on the Docker website and 34
to follow the steps. 35
There is nothing special about this installation. 36
Now let's use it to launch new services on our computer. 37
Of course, if you've installed Docker on a remote server then these services will be launch on the 38
remote server once the installation is finished. 39
If there is no container running on Docker Desktop, it proposes to test one called Docker 40
Getting started. 41
We just pick up the command to run it in our terminal. 42
On the left we've got a MobaXTerm terminal and on the right we have Docker desktop running. 43
We'll use the terminal to launch our container and we'll use Docker Desktop to manage them. 44
I just need to execute the command I've copied previously. 45
And when everything has been downloaded, I can see that a new container has been created on my Docker 46
Desktop interface. 47
I can now play with it. 48
This "getting started" container has created a web service on my computer. 49
We can connect to it thanks to any web browser. 50
There we go. 51
This is our new local website on which there is many useful information, by the way. 52
Great. 53
That was the Docker installation and our local Windows machine. For your Linux local machine, 54
Docker Desktop is also available, so no worries. 55
Now remember that during this lecture I will also often use a public Linux server without user interface. 56
So I also set up Docker and Docker compose on my server, but I'm not going to show you the process 57
because it would be different depending on your Linux distribution. 58
So please refer to the documentation for that. 59
Good. 60
So now that we have Docker and Docker compose ready, we will use it many times during this lecture, 61
that will make all installation process very easy.