9 videos 📅 2024-12-16 09:00:00 Asia/Brunei
2:25:36
2024-12-16 09:21:57
2:03:59
2024-12-16 11:06:33
1:46:52
2024-12-16 13:50:28
1:56:02
2024-12-17 09:35:43
1:52:29
2024-12-17 09:39:32
1:51:17
2024-12-17 13:36:38
1:35:13
2024-12-18 08:59:20
23:23
2024-12-18 11:50:59
1:47:49
2024-12-18 13:41:04

Visit the Docker and Kubernetes Training Course course recordings page

United Arab Emirates - Docker and Kubernetes on AWS

                WEBVTT

00:00:04.220 --> 00:00:21.300
Okay let me check for gene SSH hyphen key yes good choose yes is the first VM yes do the

00:00:21.300 --> 00:00:27.940
same yeah yeah okay okay I think good do the same for all the machines and confirm

00:00:27.940 --> 00:00:35.560
login yeah good thank you now let me check for ck ck you're good yes I think we're good if you

00:00:35.560 --> 00:00:45.300
log in any questions so what about uh Charles okay the font size of mine is that okay uh so

00:00:45.300 --> 00:00:52.120
what you can do is once you log in for example yeah click on the open do so and open it you

00:00:52.120 --> 00:00:59.020
have an option in which you can so could you right click on the top in the white

00:00:59.020 --> 00:01:05.800
plane and you could go into this and you can say to resize

00:01:13.560 --> 00:01:17.240
this is one option or you can go to edit

00:01:18.800 --> 00:01:27.360
go to edit and under edit you can go to preferences and under preferences you have

00:01:27.360 --> 00:01:34.800
appearance in which you can make the size bigger size yeah so you might have you see a 12

00:01:34.800 --> 00:01:42.740
so make it for example bigger size 14 or size you can modify the numbers in here clear

00:01:55.780 --> 00:02:05.240
yes yes yes okay okay fine yes I think we're good we'll just wait for one more minute for

00:02:05.240 --> 00:02:12.420
Charles to confirm so I so please have these information what I gave it to you

00:02:12.420 --> 00:02:15.660
at your end save this information we're going to use the same VMS

00:02:15.660 --> 00:02:23.040
for the next three days any questions are we good okay now let us start now so what I'm going to

00:02:24.080 --> 00:02:29.320
learn in this training we download the contents of the slides and the lab guides

00:02:29.320 --> 00:02:37.760
from this link now so please access this link in the browser and download the contents

00:02:37.760 --> 00:02:49.920
once you download it please confirm once you see the contents the chat ck gene

00:02:51.200 --> 00:02:55.560
jun and charles please confirm I have to get a link the chat no problem access

00:02:55.560 --> 00:03:04.920
this in the browser it is a file once gets downloaded please unzip it okay so in here

00:03:04.920 --> 00:03:11.720
you'll be having a folder for containers and doctors we also have four cubanets

00:03:12.320 --> 00:03:18.360
is a content and if you want to access the presentation you might want to double click on it

00:03:19.260 --> 00:03:26.200
it opens up at your end please click on read 1d you don't have password it is

00:03:26.200 --> 00:03:31.800
detected password so click on read 1d and you'll be able to see the contents of the

00:03:31.800 --> 00:03:41.000
and we also have in documents use cases that's confirmed if you're good the chat is

00:03:41.920 --> 00:03:47.460
okay others request the confirming the chat piece so that we can proceed okay all right

00:03:47.460 --> 00:03:53.500
so to get started you have the vm details we have the content and you also have access to

00:03:53.500 --> 00:04:00.640
login to the desktop yep so these are prerequisites for you to get started first of all

00:04:00.640 --> 00:04:06.660
what i'm going to learn in this you'll first learn about what is docker what are containers

00:04:06.660 --> 00:04:14.600
so this is your article you're talking about so this is a three-day training in which you're

00:04:14.600 --> 00:04:22.180
going to talk about containers doctors how to work with docker images how do you create

00:04:22.180 --> 00:04:29.340
your containers and how do you manage your containers using cubanets to learn about how

00:04:29.340 --> 00:04:36.740
to install and configure cubanets how do we work with namespaces and parts cluster management

00:04:38.160 --> 00:04:48.720
and we'll end up by learning about security and how do we monitor your cluster so these are

00:04:48.720 --> 00:04:56.240
the different topics so based on this we have all the modules for each of them example these

00:04:56.240 --> 00:05:03.760
are this your ppt which has all the contents of cubanets so let's get started now first one

00:05:03.760 --> 00:05:10.140
do we all work on virtual machines in your office and our projects you work on virtual

00:05:10.140 --> 00:05:14.840
machines yes i also want to understand do do you work on containers right now in your

00:05:14.840 --> 00:05:22.640
projects do you work on containers okay but on vm everyone dispatch now let's first understand

00:05:22.640 --> 00:05:28.120
why are we talking about containers why containers what do we answer why do you

00:05:28.120 --> 00:05:32.700
think enterprises are moving from beams to containers learn about this first now let's

00:05:32.700 --> 00:05:39.580
consider that you want to create an application you're a developer and you want to work on

00:05:39.580 --> 00:05:44.240
application so you want to work on application could be apache are we aware of this application

00:05:46.300 --> 00:05:51.760
apache listing so you want to write a code or you want to work on the application

00:05:51.760 --> 00:06:00.880
so in case if you use a vm you log into the vm then you will install the application

00:06:02.620 --> 00:06:10.280
in the next for example you would say install htpd and then you start the service you say

00:06:10.280 --> 00:06:17.480
service start and later you need to configure this file so in a vm if you want to have the

00:06:17.480 --> 00:06:24.480
application you are supposed to do all these steps install servers and configs so this takes

00:06:24.480 --> 00:06:30.500
in lots of time and effort we are talking about can we make it much more better in which

00:06:30.500 --> 00:06:40.240
do we have all these in a ready image are getting it everyone in a vm so instead of this

00:06:40.240 --> 00:06:46.640
can we have a ready image in which you have all these available so you're talking something

00:06:46.640 --> 00:06:51.200
like this i want to go reverse so that you understand how what we're talking about so

00:06:51.200 --> 00:06:53.540
we're talking about the images

00:06:57.300 --> 00:06:57.540
so

00:06:58.200 --> 00:07:05.060
something like this which already has all the contents of the application so image has

00:07:06.600 --> 00:07:14.580
very minimal os it has environment variables libraries binaries all the information for

00:07:14.580 --> 00:07:21.960
the applications that are available so i get a copy of this image and i will make this

00:07:22.860 --> 00:07:28.600
that is container so the vm will go and do all this work you need not do it because the image

00:07:28.600 --> 00:07:32.860
from which you're going to create a container only has that that is what's the container

00:07:33.360 --> 00:07:37.000
which you're trying to learn are we clear i just want to give an overview about why

00:07:37.000 --> 00:07:43.820
are you talking about containers so containers are application ready so containers are application

00:07:43.820 --> 00:07:59.580
ready it has all the files which is required for to run this one second one in vms for example

00:08:02.060 --> 00:08:10.460
this is your vm the vm takes more space for the guest ports like for example a windows vm

00:08:11.700 --> 00:08:18.660
it takes so much space and then application and data on top of this so you are spending

00:08:18.660 --> 00:08:24.740
so much of storage and hence also the cost could be a license cost storage cost and

00:08:24.740 --> 00:08:30.500
when you stop and start a vm it takes longer time to shut down the services and then again

00:08:31.140 --> 00:08:38.340
the slow start and stop we have to regularly upgrade and update

00:08:39.200 --> 00:08:45.240
os and also the application is created on example like windows 2022 for example

00:08:45.780 --> 00:09:00.440
the same application might not work on windows 2023 it may not work so this is not

00:09:00.440 --> 00:09:07.400
can we skip the guestovers the containers for example it would have in the application

00:09:08.320 --> 00:09:14.000
and it would have in the binary it will have in the library it looks something like this

00:09:14.000 --> 00:09:22.300
it doesn't contain contain the guestovers this is what we're talking about are we good

00:09:22.300 --> 00:09:25.240
in are getting the use cases

00:09:26.600 --> 00:09:33.220
any question yes you're right the resources are lesser containers now one more so this is how

00:09:33.220 --> 00:09:39.160
we can start now let's look into the slides to understand all about this and before I get

00:09:39.160 --> 00:09:45.480
also one more term what is monolithic and what is microservice we need to understand the

00:09:46.280 --> 00:09:54.360
of monolithic and microservices let me just give a small example now let's consider that

00:09:54.360 --> 00:10:02.300
there is a website like amazon.com needs to be designed by developers

00:10:03.800 --> 00:10:11.120
so this has to be designed by developers so what they do is in monolithic you would be

00:10:11.120 --> 00:10:19.800
all services that is they create a front-end page on a web server the login we're talking about

00:10:22.040 --> 00:10:23.960
and they also configure

00:10:25.920 --> 00:10:34.240
which will be having so let's consider that shopping website.co.uk or shopping

00:10:34.240 --> 00:10:40.240
of Amazon application in which they can choose the catalog of items and then once they add

00:10:40.240 --> 00:10:46.440
cart from a shopping website this is your dp so when you have talking about amazon shopping

00:10:46.440 --> 00:10:51.880
website so front-end with a login then they can start choosing the items what you want

00:10:51.880 --> 00:10:57.940
and then the add to the cart and this is making the complete application of all these

00:10:57.940 --> 00:11:04.920
three services in this service one this is service two and service three so even the one

00:11:04.920 --> 00:11:11.680
the services has some problem example tomorrow you update the service it might affect the entire

00:11:11.680 --> 00:11:21.740
application so all these are this is not good we want it to be loosely coupled that is

00:11:21.740 --> 00:11:27.880
college microservices in which we could have in the front-end or web server this is your

00:11:27.880 --> 00:11:36.160
login page and your application and your database these are not tightly coupled

00:11:36.840 --> 00:11:40.280
these are loosely coupled so these are college microservices

00:11:41.380 --> 00:11:48.300
while you're talking about in here containers follow microservices it means one container

00:11:48.300 --> 00:11:57.020
would be having only one application inside it or one service inside it yeah so the conclusion

00:11:57.580 --> 00:12:07.980
containers follow microservice architecture means one container would be having one application

00:12:08.540 --> 00:12:16.980
or one service inside it yeah that'd be good so these you need to know these before we get

00:12:16.980 --> 00:12:24.720
started yeah so now getting on to the slides so we'll talk about containers docker's docker

00:12:24.720 --> 00:12:35.900
file docker compose how least networking in docker and how do you manage multiple

00:12:35.900 --> 00:12:40.100
missions of docker using orchestration so we talk about monolithic so one of the challenges

00:12:40.100 --> 00:12:46.100
are they are tightly coupled so what exactly so before containers came in the challenges

00:12:46.960 --> 00:12:52.120
we'll talk about now so this is development so you can think about this portion of that

00:12:52.120 --> 00:13:00.120
working on by developers and this system is for operations so in any bigger companies

00:13:00.120 --> 00:13:06.780
we are developers and operations team they're working together now the use cases we have in

00:13:06.780 --> 00:13:13.540
an application that could be they consider that abc.com they want to create the application

00:13:13.540 --> 00:13:20.620
or a website and this website has to run on multiple platforms could be on x86

00:13:21.500 --> 00:13:31.580
could be on x64 could be on arm platform so enterprises we work on multiple platforms

00:13:32.140 --> 00:13:38.420
or think about the whatsapp so whatsapp you might want to use on your mobile you might

00:13:38.420 --> 00:13:44.600
it on your laptop you might want a windows lab mobile could be on ios mobile so talking

00:13:44.600 --> 00:13:51.440
different platforms so when you write in any code or any code the code always runs on a

00:13:51.440 --> 00:13:59.100
specific platform can the same code run on all the platforms before continuous document general

00:13:59.100 --> 00:14:04.680
right now can we use the same code would the code run on all the platforms yes or no what do

00:14:04.680 --> 00:14:10.260
you think if you have a code would the same code run on the same on this and this and this

00:14:10.260 --> 00:14:16.480
is no correct it will not work on all of them so developers have to rewrite the code to run on

00:14:16.480 --> 00:14:23.300
every platform yeah same for database what do you create the developers

00:14:25.060 --> 00:14:30.540
or could be a front end or a back end applications we have to recreate the code

00:14:31.260 --> 00:14:37.300
and it's just not writing the code after you write in the code you have to test the code

00:14:37.300 --> 00:14:46.540
test the code then you have to do a release using your jenkins for example lots of work

00:14:46.540 --> 00:14:53.780
is required so that the code or the application could be used so this process is lengthy

00:14:54.660 --> 00:15:00.660
so developer did a work wherein wrote the code on x86 but the operation team wanted to

00:15:00.840 --> 00:15:08.740
the same on multiple platforms when it works on this it works on this

00:15:09.400 --> 00:15:15.660
but not on these platforms you agree to the operations will again go back to the developer

00:15:15.660 --> 00:15:20.660
and developer has to recreate the code so that it works on the other platform so talking

00:15:20.660 --> 00:15:25.160
of combinations about how we can have in a single code run on different different platforms

00:15:25.160 --> 00:15:29.200
same time the car we talk about analogy the continuous work

00:15:29.200 --> 00:15:35.920
came in from a shipping company i'm sure that we have a big harbored in singapore

00:15:35.920 --> 00:15:43.700
so before if you want they want to ship this to customer they have to use a fragile

00:15:43.700 --> 00:15:50.020
packing they want to ship this this oil they have to use an oil proof packing

00:15:51.060 --> 00:15:57.300
the shipping company they had a challenge is that they had to procure new type of packing

00:15:58.400 --> 00:16:04.020
and to ship to the customer it's not just the packing and again once from the harbored

00:16:04.020 --> 00:16:10.300
they have to again unpack it unpack and again pack it to a format which could be shipped

00:16:10.300 --> 00:16:17.320
to the customer this was the challenge so they had questions about can we improve a better

00:16:17.320 --> 00:16:24.260
packing format to ship these to the customer this is where they came with the standard

00:16:24.260 --> 00:16:31.080
box size which is called as a container so any of these workloads be shipped into this

00:16:31.860 --> 00:16:35.960
put into it and it's quite robust anyone could not go and break it's quite robust

00:16:36.980 --> 00:16:43.880
and the same box could be used for shipping from the harbored to a train or to a truck

00:16:43.880 --> 00:16:51.660
and reaches the customer's location so this is a box which can take any type of workload

00:16:52.360 --> 00:16:57.100
and it could be shipped to the customers by on different platforms so talking about

00:16:57.100 --> 00:17:03.680
can you think about right now that this is your application i'm talking about a platform

00:17:04.360 --> 00:17:11.460
so can we start packaging your applications in application container format so that it

00:17:11.460 --> 00:17:20.640
runs on multiple platforms and if you want to manage containers you require a platform

00:17:21.220 --> 00:17:29.560
like for example for vms to manage we use vmware for example that is to start or stop

00:17:29.560 --> 00:17:36.460
create vms it have platform we use hyper-v we use citrix and so similarly if you want to

00:17:36.460 --> 00:17:41.960
containers to create containers stop and we require a platform and the word docker came

00:17:41.960 --> 00:17:48.700
from shipping company so this is we call it as docker yard and all the containers and also

00:17:49.900 --> 00:17:57.900
who helps to unload it is called as a docker guy so the word docker came in from this

00:17:57.900 --> 00:18:02.820
word so docker is a platform to manage containers so this question marks were replaced

00:18:03.620 --> 00:18:07.620
yes are we good everyone we just say yes the chat i know that

00:18:08.420 --> 00:18:17.840
don't speak much just say yes the chat so that we can proceed okay everyone chance and then your

00:18:18.920 --> 00:18:26.260
gene how the speed it is is my speed good or am i fast or slow we could all right yeah

00:18:26.260 --> 00:18:32.760
just want to confirm because working with the different culture yeah i think we're good yeah

00:18:32.820 --> 00:18:39.460
so now this is your container so you see this diagram this is the symbol of docker

00:18:40.340 --> 00:18:47.560
so docker is also referred as docker engine and you're managing containers so docker engine

00:18:48.620 --> 00:18:53.960
this can manage any type of payload payload means any type of workloads it could be an

00:18:53.960 --> 00:18:59.980
application or could be a database could be your analytics application whatever is it

00:19:00.540 --> 00:19:06.400
so how does it work as a collaboration now we have a devops team so we have devops team

00:19:06.400 --> 00:19:10.620
and this devops team want to release an application like a website for example

00:19:12.660 --> 00:19:19.040
so in in docker we have a default registry called as docker hub we'll talk about the

00:19:19.040 --> 00:19:23.140
details i want to give an idea here docker hub is the default register like what we use

00:19:23.140 --> 00:19:32.540
we use docker hub for the container images so now your sme like a scram master they've

00:19:32.540 --> 00:19:38.460
created a repository in the docker and the devops team developer tester all these people

00:19:38.460 --> 00:19:45.620
we have so everyone in the environment would install docker developer install docker

00:19:45.620 --> 00:19:53.940
tester install docker and docker and all of them so first the developer will pull the image

00:19:53.940 --> 00:20:02.660
so he would say the command or on the command docker pull the image like this apache image

00:20:04.180 --> 00:20:09.360
this is the image which i showed you which is has all the libraries binaries of the

00:20:09.360 --> 00:20:14.280
application and this image get downloaded but this image is a read-only image you cannot

00:20:14.280 --> 00:20:20.980
log into it so you need a running copy of this so then the developer would say i want to run

00:20:20.980 --> 00:20:27.640
a copy of it which is runnable so i'll say docker 1 the background hi 50 dash mode

00:20:28.480 --> 00:20:36.060
and give the image name this will create a container and the log the user can log into

00:20:36.060 --> 00:20:42.560
the container by using docker commands docker exec hyphen it infrastructure terminal and then

00:20:42.560 --> 00:20:51.340
container name or the id and the shell like bash and now the user can see all the application

00:20:51.340 --> 00:20:57.680
file and can start working in yeah so once it is done he'll again come into an image

00:20:58.740 --> 00:21:04.180
and push this image to the repository now the tester who wanted tested would download

00:21:04.180 --> 00:21:11.600
this image from in here and from that they would create a container so pull it and get

00:21:11.600 --> 00:21:20.560
container same then create it again make like this manual work or in your devops we can use

00:21:20.560 --> 00:21:26.800
cicd continuous integration continuous development like jenkins using which you can automate the

00:21:26.800 --> 00:21:33.400
process of these so this is how in your docker and container world a very simple example

00:21:33.400 --> 00:21:39.160
about how different teams can collaborate with each other and can quickly release applications

00:21:40.160 --> 00:21:46.960
yes i'm getting a picture about how we work with docker and containers any questions

00:21:46.960 --> 00:21:54.520
let it proceed now the work of developers reduce because the same code can run on multiple

00:21:54.520 --> 00:21:59.980
platforms and if our development team is not making much changes the operations team work

00:21:59.980 --> 00:22:06.340
is reduced because if everything is working same then operations team is much better lesser

00:22:06.340 --> 00:22:12.220
because no changes again no need to check everything on my life so do once run anywhere

00:22:12.220 --> 00:22:18.600
it means does not run anywhere talk about more platforms same code once docker is supported

00:22:18.600 --> 00:22:24.840
all the cloud platforms could be on amazon could be on these example we can deploy it

00:22:24.840 --> 00:22:30.980
on easy in amazon for example which is ias platform it's an infrastructure service

00:22:31.860 --> 00:22:37.220
we can also deploy containers on a platform services like we have ecs

00:22:38.280 --> 00:22:45.580
for containers and eks for equipments so these are platform as a service

00:22:45.580 --> 00:22:52.340
in which you need not manage the bms yourself so directly you can go ahead and create

00:22:52.340 --> 00:22:59.380
containers or ports on top of this google cloud we can either use a bm or we have

00:22:59.380 --> 00:23:10.100
service called gkb and in azure we can either use again a bm or we can use acs or aks

00:23:11.220 --> 00:23:17.020
these both are kind of service is it ias service in i did not give anybody

00:23:17.020 --> 00:23:22.260
the same any cloud is supposed to docker is supported all the cloud platforms okay

00:23:23.020 --> 00:23:27.500
you can pause me anytime in between in case if you have a question i'll be good

00:23:27.500 --> 00:23:33.500
how does the container look so this is your physical server and on physical server we are

00:23:33.500 --> 00:23:41.120
having four stores preferably linux and then you install docker software and using docker

00:23:41.120 --> 00:23:48.560
you manage containers you see these are the containers one two three four five six and each

00:23:48.560 --> 00:23:52.860
of them have only one application it means they're following microsoft architecture

00:23:53.540 --> 00:24:00.740
and they don't have guestovers so they are lightweight because no guestovers

00:24:00.740 --> 00:24:05.420
they stand alone because they are only one service package it means it has everything

00:24:05.420 --> 00:24:11.160
which is required for each one it is there including the code runtime tools libraries and

00:24:11.160 --> 00:24:22.100
settings and this could be run on any platform quite easily so look something like with the

00:24:22.100 --> 00:24:29.140
here containers work directly on the linux kernel this is the linux os kernel

00:24:30.580 --> 00:24:37.760
so in containers linux we have properties like namespaces cgroups and slinux the same in here

00:24:37.760 --> 00:24:44.700
now these properties are used by containers so what are namespaces so namespaces in linux

00:24:44.700 --> 00:24:51.900
ensures that each processes are separated so similarly containers also get separated

00:24:51.900 --> 00:24:56.400
because they are part of a namespace this is not the same as kubernetes remember they're

00:24:56.400 --> 00:25:03.480
different so namespaces it ensures that it gets these are isolated and cgroups provide

00:25:03.480 --> 00:25:10.500
resources like cpu ram storage network whenever they need they take it from in here unlike

00:25:10.500 --> 00:25:16.660
vms assign the resources before itself so it is more of a dynamic allocation

00:25:18.820 --> 00:25:24.480
which is much better because you're saving on resources if you stop or delete it it'll again

00:25:24.480 --> 00:25:31.720
pull back the resources back to the host os slinux is for advanced security so these are the

00:25:31.720 --> 00:25:38.280
important things in the backend they use namespaces and these are some specific namespaces

00:25:38.280 --> 00:25:45.900
in linux and cgroups helps you to manage cpu memory so either it will take in the cpu what

00:25:45.900 --> 00:25:50.120
is required or you can also mention how much of cpu memory you require for every container

00:25:50.120 --> 00:25:58.280
it can take in the resources and once you create a containers so containers are like

00:25:58.280 --> 00:26:04.800
processes so every container would have a processor id so example if you get a container

00:26:04.800 --> 00:26:12.120
have a container id you'll have a process id once you go into the process id you will

00:26:12.120 --> 00:26:17.640
have a namespace folder and inside that once you do a ls you can see different processes

00:26:18.240 --> 00:26:25.820
compared for different containers so cgroups and the user will be common but all these

00:26:25.820 --> 00:26:31.500
will be different for different containers so this is how we can validate that containers

00:26:31.500 --> 00:26:38.220
are safe for production because customer would ask you how are the containers getting isolated

00:26:38.220 --> 00:26:44.140
if they run on the same mission so there must be some technology in the backend so namespace

00:26:44.140 --> 00:26:51.300
property of Linux kernel ensures that these are separated these are secure and hence containers

00:26:51.300 --> 00:26:56.760
are good to work on production workloads namespaces so containers are lightweight

00:26:57.340 --> 00:27:03.240
because you see they don't have a guest OS they're faster because they don't have guest

00:27:03.240 --> 00:27:09.340
OS they are portable because they don't have guest OS they still use the whole OS but

00:27:09.340 --> 00:27:15.720
they use the host OS rather than the guest OS example in a VM you need to have a guest OS

00:27:17.120 --> 00:27:25.920
the VMs require a hypervisor so hypervisor software like VMWare ESXi or could be Hyper-V

00:27:25.920 --> 00:27:31.760
which we deployed on the physical servers directly on a bare metal and then you create a VMs

00:27:32.980 --> 00:27:37.440
and then deploy application now you can see that we are ready applications

00:27:38.440 --> 00:27:42.600
it doesn't require a hypervisor not a manager but there is challenge in this for example if

00:27:42.600 --> 00:27:55.880
this physical server goes down you would users cannot log in the application so what

00:27:55.880 --> 00:28:02.840
three VMs install docker on these and create your containers so it can create

00:28:03.360 --> 00:28:11.480
application container app here like this so the user is trying to access the application

00:28:11.480 --> 00:28:17.640
to a load balancer and for some reasons this mission is not done the user request goes

00:28:17.640 --> 00:28:24.060
to the other missions so it is much more easier to form managing containers if you

00:28:24.060 --> 00:28:29.860
use the VMs for failover or for resource allocation for all these things so it's

00:28:29.860 --> 00:28:35.440
a good practice to use containers VMs and cloud together so that the management becomes quite

00:28:35.440 --> 00:28:44.320
easy so containers summarize containers are smaller they are faster and very easy to

00:28:44.320 --> 00:28:50.360
integrate compared to virtual machines simple use case that the team wants to release an

00:28:50.360 --> 00:28:55.900
application on jboss jboss an application now they were using different platforms so the use

00:28:55.900 --> 00:29:01.620
case for operation is it has to run on multiple platforms there is a code test the code

00:29:01.620 --> 00:29:09.000
and be pushing it to like it now they test it on it works on this but not on these it

00:29:09.000 --> 00:29:15.120
does not work on these platforms so again let it go back and then it works but this

00:29:15.120 --> 00:29:20.940
is achievable but takes more time and you're talking about devops world in these days wherein

00:29:20.940 --> 00:29:27.520
you want to do all the work quite efficiently the devops is all about quicker efficient

00:29:28.740 --> 00:29:34.000
resources all they're talking about it's not a good use case so they can start using

00:29:34.720 --> 00:29:40.620
docker hub all of them would be pushing and pulling in from a docker hub a common registry

00:29:41.260 --> 00:29:47.520
and they can do it more quickly the reason contains and dockers are used across all the

00:29:47.520 --> 00:29:54.040
cycles of devops it's not just for deployment we use it for ability tools we can use it for

00:29:54.040 --> 00:29:59.780
your jenkins we can use it for your testing tools we use dockers and containers across all

00:29:59.780 --> 00:30:02.740
pieces of devops are we good

00:30:07.200 --> 00:30:12.500
okay okay now where do you find information there are lots of information about this i've

00:30:12.500 --> 00:30:16.100
given you that in the important links so if we access your worker and doctors

00:30:16.100 --> 00:30:21.680
you have all the links are referring in here the labs and use cases so where do we use

00:30:21.680 --> 00:30:29.180
these containers so containers are used across lots of applications and these so many companies

00:30:29.180 --> 00:30:36.500
they use these and this document is one so there are different technologies for containers

00:30:36.500 --> 00:30:43.940
that enters cubanets portman you have in some cloud management based container and how do

00:30:43.940 --> 00:30:48.480
we share it we use registries in which you have the images and if you have multiple

00:30:48.480 --> 00:30:55.520
containers to be managed we use orchestration the cubanets docker swarm so in case looking

00:30:55.520 --> 00:31:01.500
for a quicker deployment containers is the answer if you're talking about to have a

00:31:01.500 --> 00:31:07.360
standard software on multiple platforms then talking about containers can you scale up

00:31:07.360 --> 00:31:09.600
yes you can use the scalable environments

00:31:13.520 --> 00:31:16.580
one more use case also we have for data warehouse

00:31:17.480 --> 00:31:18.740
the warehouse group

00:31:23.000 --> 00:31:29.760
this company were using outdated infrastructure before and they were not able to release

00:31:29.760 --> 00:31:36.480
applications quickly and they wanted to have a better release management so what they did

00:31:36.480 --> 00:31:41.460
so they started moving on to containers to the company one move from vm to containers and

00:31:42.220 --> 00:31:47.120
this is that one the ecosystem that we have implemented talker work seamlessly

00:31:47.120 --> 00:31:54.140
regardless of whether developers are permanent employees in here one more able to release the

00:31:54.140 --> 00:31:59.020
application very quickly to production and developers were happy because the workers

00:31:59.020 --> 00:32:05.280
were used compared to what they're doing before and they can test it on their own laptops

00:32:05.280 --> 00:32:09.920
and working in your environment to contain encapsular dependencies so they don't wait

00:32:09.920 --> 00:32:15.700
time setting up all these advantage what we got it so customers were happy

00:32:16.400 --> 00:32:20.000
developers were happy team was happy they were able to get in good revenue

00:32:20.640 --> 00:32:27.520
so talking cost time and efficiency all visible you know where you get information about

00:32:29.180 --> 00:32:34.320
doctor's insert for docker container for example to the language talks about what is

00:32:35.200 --> 00:32:43.520
containers definition is this package software into standardized unit for development shipment

00:32:43.520 --> 00:32:51.080
and deployment it means one standard using which i can start quickly releasing it so

00:32:51.080 --> 00:32:57.980
lightweight standalone and the images become continuous other one time standard

00:32:58.700 --> 00:33:03.180
because the same format the same code to run multiple platforms

00:33:04.340 --> 00:33:09.500
lightweight because they don't consist of guestovers they secure because of the namespace

00:33:09.500 --> 00:33:13.800
property and containers not just for linux we also have windows but doesn't support windows

00:33:13.800 --> 00:33:19.500
properly but to an extent support not very easy to support on windows because for windows

00:33:20.220 --> 00:33:29.660
using for linux for a mac could be hybrid serverless or everywhere we can use containers

00:33:30.460 --> 00:33:35.020
and every company are moving from vms to containers because the benefits what they provide

00:33:35.660 --> 00:33:40.960
for customers as well as for internal people for creating the code and you want to use them

00:33:40.960 --> 00:33:46.480
together the containers are talking about more or in which we abstract the os in containers

00:33:46.480 --> 00:33:51.840
we're going to the os the vms or which relation talking about which is the thing

00:33:51.840 --> 00:33:58.960
your device hardware and you want to use them together the lead so containers there are lots

00:33:58.960 --> 00:34:03.600
of methods using which you can manage contain the one is docker we are talking about container

00:34:03.600 --> 00:34:09.620
d so we have we have docker rocket container d there are multiple platforms for managing

00:34:09.620 --> 00:34:14.600
containers so container d is one of the latest platform for managing containers

00:34:15.160 --> 00:34:20.400
so if you want to install latest kubernetes software you can also use just docker and use

00:34:20.400 --> 00:34:27.280
container container these again are even invented by docker so docker was invented in 2013

00:34:27.280 --> 00:34:32.760
and they evolved a lot let's see now what is docker so put docker.com so docker

00:34:35.060 --> 00:34:42.060
this helps you to create containers and you can run anywhere you can also play around on

00:34:42.060 --> 00:34:48.620
laptop by installing something called docker desktop so docker desktop could be installed on

00:34:48.620 --> 00:34:57.960
windows or on mac or linux install it and you might have to give permissions for intel vp or

00:34:57.960 --> 00:35:02.720
virtualization to be enabled in your bios and if you are appropriate drivers you will be able

00:35:02.720 --> 00:35:07.580
to install it and you can play around with that sandbox so dev and not for like this for

00:35:07.580 --> 00:35:14.400
test which you create containers you can log into it play around with the images gui all

00:35:14.400 --> 00:35:20.940
this you can get it but this just for testing we use this it looks something like this

00:35:21.760 --> 00:35:29.400
so in docker we have free and we have paid we have different pricing models so if you

00:35:29.400 --> 00:35:35.640
are starting new you can go for a free model you can call it docker personal which is zero

00:35:35.640 --> 00:35:41.240
cost so what i'm saying here is if you want to manage the images and

00:35:43.300 --> 00:35:49.340
containers in a shared repository like this for this you have to buy licenses

00:35:50.500 --> 00:35:59.540
so if you have zero no cost you can create a few public repositories

00:36:00.620 --> 00:36:07.660
you don't get much options you get one eat the gui if you go for a pro you get more

00:36:07.660 --> 00:36:14.820
you get a gui options docker team docker business all these are plants and each of

00:36:14.820 --> 00:36:21.560
them come with a different this is zero cost one user this is payable docker engine

00:36:21.560 --> 00:36:26.180
contain and eats you get command line in your free you don't get go you option

00:36:26.900 --> 00:36:34.260
when your docker desktop you get it and these are features so looking for all the features

00:36:34.260 --> 00:36:40.940
then you want to go for docker business or looking for other option your docker team docker

00:36:40.940 --> 00:36:47.580
pro docker personal any of these subscriptions you can buy this is how we buy the docker

00:36:47.580 --> 00:36:55.020
subscription so you also get access to run in your vulnerability checks or integrate with

00:36:55.020 --> 00:37:02.260
incidents you also get option to go for continuous integration and build all those would have

00:37:02.260 --> 00:37:07.940
automatically go for the paid office deals now coming back in here so docker is the platform

00:37:07.940 --> 00:37:12.260
using which you can manage containers so you have free additions or paid additions which

00:37:12.260 --> 00:37:18.720
is observed personal or you can go for a pro or team here so in this you get unlimited

00:37:18.720 --> 00:37:24.220
public repositories so you can create only one private registry repository you get access

00:37:24.220 --> 00:37:31.660
to docker desktop and you get money cli no gooey in this unlimited private repository

00:37:31.660 --> 00:37:42.160
you also get a gooey in this apart from cli so in this you can have multiple users to be used

00:37:42.160 --> 00:37:49.900
more users and this is gives you like as a single sign-on for example even if you do

00:37:49.900 --> 00:37:55.860
have an account in docker hub you can log in from your office account and be logged in

00:37:56.700 --> 00:38:03.960
and they provide you much more easier management for buying and support the business will work

00:38:04.700 --> 00:38:14.820
okay any questions please charles junwe then gene okay any questions please i'm going to

00:38:14.820 --> 00:38:20.860
see now before i go to the next slide i'll talk about this slide okay much more easier

00:38:20.860 --> 00:38:27.900
for the next one back so now when you install docker on your mission they're going to be

00:38:28.640 --> 00:38:35.800
it had two components your client component and a demon component so when you run any

00:38:35.800 --> 00:38:41.960
commands like example you run a command like docker pull the image name now you're running

00:38:41.960 --> 00:38:47.640
the client the request goes to the demon the background process using a test api

00:38:49.320 --> 00:38:54.680
and this demon would help you to manage your vms could be a storage all those things

00:38:54.680 --> 00:39:01.040
the pattern so this could be a client either could be yourself or it could be some other

00:39:01.040 --> 00:39:06.120
application and when you try to do this request goes to docker team and the docker team and

00:39:06.120 --> 00:39:14.580
to manage the patterns so docker engine consists of both the components so we insert a vm it'll

00:39:14.580 --> 00:39:20.300
have both the client component and a demon component and server background is called docker

00:39:20.300 --> 00:39:26.680
d the company are using rest api and we use docker cli commands to work with this

00:39:26.680 --> 00:39:34.080
and what you create in docker user call us objects like containers volumes images

00:39:34.080 --> 00:39:39.880
like networks whatever you create in docker these are called as docker objects

00:39:41.020 --> 00:39:46.700
so how do these all work together so this is a diagram in which we talk about the major

00:39:46.700 --> 00:39:52.840
components or a client component we're talking about even component and registry how does all

00:39:52.840 --> 00:40:00.760
these work now small use case now let's consider that you're a developer and you want to work

00:40:01.720 --> 00:40:11.240
so engine x is reverse proxy web server it is used for front end application it also

00:40:11.240 --> 00:40:17.900
supports proxy load balancing other features so this is this one or apache all these are

00:40:17.900 --> 00:40:24.600
very similar this is still advanced of for your web servers now you want to work on this so you

00:40:24.960 --> 00:40:30.720
install docker on your mission on your mission you install first docker

00:40:33.220 --> 00:40:39.380
and then you would run a command docker pull engine x so that you need to have

00:40:39.380 --> 00:40:45.700
appropriate privileges so this requires a pseudo access because we work in docker you make

00:40:45.700 --> 00:40:52.040
the changes in tcp ports and hence you need to have pseudo access so you would run a command

00:40:52.040 --> 00:40:58.800
docker pull the image name engine x the request goes to docker dmin for the first time so you

00:40:58.800 --> 00:41:03.360
will not have the image so request will go to the default registry if not the registry which

00:41:03.360 --> 00:41:08.380
you configured it pulls the image and saves it in your local mesh or the environment where

00:41:08.380 --> 00:41:16.600
you're working now it is a read 1d image i cannot log into so i'm still not ready to

00:41:17.500 --> 00:41:23.860
write in the code in this application so i would say docker 1 and the image name

00:41:24.700 --> 00:41:31.820
the request goes to docker d so where does the image say so normally linux will save under

00:41:31.820 --> 00:41:38.720
where live docker so where live docker is the root directory of docker which will have

00:41:38.720 --> 00:41:43.920
volumes overlay all these you'll go and search under this and the overlay it will have the

00:41:43.920 --> 00:41:50.560
image it'll understand and create a container now i cannot just use one container because

00:41:50.560 --> 00:41:55.740
if i delete it i do something wrong it might or it might make my container or up to get not to

00:41:55.740 --> 00:42:00.280
work so i might want to create one more container so i use docker one command i run

00:42:00.280 --> 00:42:06.620
two times to create two of this then i can log into the container then i can log in saying

00:42:06.620 --> 00:42:11.740
that docker exit an id and the name on the shell i'll be logged in the container

00:42:11.740 --> 00:42:19.020
and i can start working on my application so i can pull any images like this the process first

00:42:19.020 --> 00:42:23.580
we'll check in local message or local environment or local mission if not it

00:42:23.580 --> 00:42:29.080
goes to the registries and the default registry what we use is docker so in case you want to

00:42:29.080 --> 00:42:36.320
registry within your office for example you can also registry on a dm on a cloud a

00:42:36.320 --> 00:42:42.600
registry which is the location where you store the images now sometimes we cannot use the image

00:42:42.600 --> 00:42:50.380
because these are not very specific to your organization you might want a custom for that

00:42:50.380 --> 00:42:56.120
you create own image and then you build the image for that use docker build so you define

00:42:56.120 --> 00:43:00.740
the image contents and then you build the image by using docker build commands so docker

00:43:00.740 --> 00:43:05.620
docker client and we're talking about registries is where you store the images

00:43:07.420 --> 00:43:11.660
in that either you can get a public or a private or both the trees and

00:43:11.660 --> 00:43:17.020
participants or document developers or testers everyone can do a docker pull

00:43:17.780 --> 00:43:23.140
and then when they want to work they do a docker push so that so that others can see the

00:43:23.960 --> 00:43:28.100
image if i go for engine x for example

00:43:30.940 --> 00:43:39.720
let's click on the image and the image would look something like this so this is written

00:43:39.720 --> 00:43:46.760
by a some developer you see the file name is called docker file so the image contains

00:43:46.760 --> 00:43:53.400
a file called a docker file it would have lots of lines these are called as layers

00:43:54.580 --> 00:44:01.040
as well layers and this is written in go language and all these layers work together

00:44:01.040 --> 00:44:05.860
for example you see from so it has a very minimal os for running your application

00:44:06.500 --> 00:44:12.320
we're talking about who is the owner of this you can mention that i'm the author of this

00:44:12.320 --> 00:44:19.120
docker file env is in one of the variables they can mention the version you can mention the path

00:44:19.120 --> 00:44:26.620
of that your java could be for your python and then you're running all your libraries

00:44:26.620 --> 00:44:34.800
and binaries when you run commands so all these is part of the image we'll learn

00:44:34.800 --> 00:44:40.380
very specific parameters later this is what we may talk about and all these lines are

00:44:40.380 --> 00:44:46.300
the image what you observe right now is a b20 template and that has instructions for creating

00:44:46.300 --> 00:44:54.640
containers so it'll talk about using docker file and each line talk about his instructions

00:44:55.920 --> 00:45:02.280
and they all work together to create for the image and from this image we created running

00:45:02.280 --> 00:45:06.800
running copy so even containers are an image containers are not persistent

00:45:06.800 --> 00:45:11.720
delete the container you lose the data so you have to use a mapping storage

00:45:11.720 --> 00:45:16.580
so the continuous data is persistent i can create containers i can say docker create

00:45:16.580 --> 00:45:23.520
but it again start or you can say docker run the image recreate and start i can do a kill

00:45:23.520 --> 00:45:30.160
i can do a pause or i use all the docker commands for operations i'm pausing here

00:45:31.020 --> 00:45:37.720
okay any questions the docker yeah but it is a compressed format

00:45:39.300 --> 00:45:43.160
when you download it the size very very small you'll be like only mbs

00:45:44.240 --> 00:45:50.360
it's it's only mbs no gbs at all very very small so they've compressed it so it's quite small

00:45:52.680 --> 00:45:54.120
okay yeah any other questions

00:45:54.300 --> 00:46:06.280
let me proceed now how do we install we'll finish installation topic and then we can take

00:46:06.280 --> 00:46:11.700
a short quick break so for installing we already have installed for uh we'll learn about how

00:46:11.700 --> 00:46:19.020
to install all these you can sort on windows so separate software for docker for windows

00:46:19.940 --> 00:46:26.420
the separate software for docker for linux the separate software for docker format and all

00:46:27.120 --> 00:46:34.520
the hours must be a 64 red hat based red hat based mean they're talking about could be red

00:46:34.520 --> 00:46:44.120
hat itself centaurs fedora for all these things we use m commands rpms older ones

00:46:44.120 --> 00:46:49.200
here use rpms you say m install docker for example using a linux server

00:46:49.200 --> 00:46:57.020
of red hat and then you can say service the service name is docker and then you say

00:46:57.020 --> 00:47:03.320
stats using debian base the debian base we're talking about could be like ubuntu

00:47:05.060 --> 00:47:13.400
or debia could be amend all these for these we use apt or we can use apt-

00:47:14.180 --> 00:47:22.080
these are the package managers and then you can say apt install docker.io so we can either use

00:47:22.080 --> 00:47:28.860
any of this for the use we're going to use ubuntu so we're going to use commands like

00:47:28.860 --> 00:47:38.440
apt update to update repositories and then we will say apt install docker.i

00:47:39.060 --> 00:47:45.400
get installed docker news for mac you can deploy it on windows so docker desktop

00:47:46.040 --> 00:47:50.680
if you install it on your local mission for example it looks something like this

00:47:51.460 --> 00:47:57.640
so now you want to sign up with the docker account should you all access the website

00:47:57.640 --> 00:48:01.420
we'll learn about it and then we do the hands-on access please access this website

00:48:01.420 --> 00:48:06.680
https and the link and sign up for this account

00:48:07.420 --> 00:48:10.140
create a personal free account inform once you're done

00:48:18.760 --> 00:48:27.600
this website click on sign up provide your email id and you might want to check your email

00:48:28.220 --> 00:48:33.520
you want to click on the link activation link and you won't be able to log in and get a

00:48:33.520 --> 00:48:38.920
free account please type in manually if it continue you can do it but later you might

00:48:38.920 --> 00:48:44.500
have an uh i'll say that create a person account manually instead of using your google

00:48:44.500 --> 00:48:53.020
or github if you want you can use it it's up to you a good okay so now once you're

00:48:53.020 --> 00:49:00.460
in click on sign in click on and then get a password in a screen like this now please click

00:49:00.460 --> 00:49:08.900
on explore click explore and under explore you will see lots of images so all these are

00:49:08.900 --> 00:49:14.620
images and these images are again classified into different categories so docker official

00:49:14.620 --> 00:49:20.400
images it means that all the images click on docker official these are managed by docker

00:49:20.400 --> 00:49:26.240
any image would have the image name like this it would have the details about the downloads

00:49:26.240 --> 00:49:32.240
the rating of it the pulls so example if you click on internet which came automatically

00:49:32.240 --> 00:49:37.120
when you're not official so open it it will say that is official build

00:49:38.140 --> 00:49:41.360
and you want to use the image you want to use the command docker pull engine

00:49:41.360 --> 00:49:48.220
and there are different versions of in the next the latest one then you have to use

00:49:48.220 --> 00:49:55.300
latest one other one once for example you have to say docker pull the neck coolant

00:49:55.300 --> 00:50:03.980
and the image version number so image latest means this image docker update very regularly

00:50:03.980 --> 00:50:09.020
and you can see the tendons so somewhere in the back end the images are stored in your

00:50:10.220 --> 00:50:14.720
version control the back end so these are these are the image trucks

00:50:15.540 --> 00:50:20.260
again come back and you can also observe on which platform is supported go down

00:50:20.940 --> 00:50:27.980
they say that this supports on these platforms so this image supports on ang 64

00:50:27.980 --> 00:50:33.700
all these platforms on which you can identify and any official images will have details

00:50:33.700 --> 00:50:40.160
about what is this image reverse proxy how to use the images of examples they let you know

00:50:40.160 --> 00:50:46.900
which port customize so you can learn a lot by when you see our featured images of any images

00:50:46.900 --> 00:50:58.040
and you can play around now back to screen now verified publisher is third party company

00:50:58.040 --> 00:51:05.520
and they have partnered with the doctor oasis is open source images which is created by community

00:51:05.520 --> 00:51:11.600
of team might be centaurs fedora community they created some images now let's consider

00:51:11.600 --> 00:51:16.500
that you want the image of all the types so what you can do uncheck all of box and then

00:51:16.500 --> 00:51:25.260
say example engine x but press enter and you will see official to be verified all the images

00:51:25.260 --> 00:51:32.120
you see this is what we use to search the images this is the default registry

00:51:33.100 --> 00:51:39.900
which we're talking about now let's let me go back and talk about some theory part of this

00:51:41.920 --> 00:51:49.080
so we observe the images and each image consists of multiple layers

00:51:49.740 --> 00:51:53.240
and all these layers work together to create your

00:51:53.240 --> 00:52:00.300
or continue talking and when you do and do a doctor run and i give the image

00:52:00.920 --> 00:52:07.060
that will make a runnable copy to the content so docker image consists of multiple layers

00:52:07.940 --> 00:52:13.640
and all these are read-only images they get downloaded this is a default to directory

00:52:13.640 --> 00:52:18.360
called a bear lip talker you can see volume and everything in there always very specific

00:52:18.360 --> 00:52:23.320
for your images so example a vm or a server looks at something like this and we have lots of

00:52:24.500 --> 00:52:30.700
images we're done but using docker pull and each image would have an image id it's very big

00:52:30.700 --> 00:52:37.540
but now you see around 12 characters or number alphanumeric and we can have a

00:52:37.540 --> 00:52:42.120
writable copy on it so docker images are you cannot go directly modify a image like

00:52:42.280 --> 00:52:45.940
one for the image but you need to get a running copy

00:52:47.260 --> 00:52:54.120
and the way how they work all the layers working together that file system like in

00:52:54.120 --> 00:53:01.280
linux we use ext4 gfs or different how they organize the file the color file system

00:53:02.000 --> 00:53:06.560
in container world we talk about overlay file system which all the layers work together

00:53:06.560 --> 00:53:15.920
also called overlay file system or layered file system so file system means how files are organized

00:53:17.380 --> 00:53:21.880
internally in your os now in this this is actually

00:53:29.480 --> 00:53:36.120
you are working on a project for example the work team your sme or scrum master

00:53:36.560 --> 00:53:44.420
might create a repository where all of you get access to create a repository

00:53:44.420 --> 00:53:52.580
is your username then we give a report name and the date for free account you have only

00:53:52.580 --> 00:53:57.520
one private or use it but you get multiple public so i create public for example this

00:53:57.520 --> 00:54:04.140
get created so all the devops team members they get access to this repository and each

00:54:04.140 --> 00:54:10.300
them can start pushing their container changes as an image format to this repository

00:54:12.120 --> 00:54:16.300
so example it will look something like this once everyone pushes into this

00:54:17.360 --> 00:54:24.260
this is my example of i have an image repository so someone has pushed 14 years back

00:54:25.140 --> 00:54:29.920
and you want to see the image contents you can either click on it or you can go to text

00:54:29.920 --> 00:54:35.780
app you can click on the digest to see some information about what it has

00:54:37.300 --> 00:54:41.920
and if you want to get the complete information of this you call the container you can also do

00:54:41.920 --> 00:54:47.120
a docker pull pull the image and then from that you create a container and when you go

00:54:47.120 --> 00:54:52.540
for a paid versions you can go to build and integrate with your github you want to give

00:54:52.540 --> 00:54:57.860
access to others account you add them and collaborators and if you want to do some

00:54:57.860 --> 00:55:02.500
automation for example if something happens in this if some image comes in here you can say to

00:55:02.500 --> 00:55:07.140
create an image you can do some automation for build and test like jenkins v c i c d

00:55:07.140 --> 00:55:13.000
and as settings you can make lots of changes the scanning changes other settings you can do

00:55:13.760 --> 00:55:21.760
it so with every repository you can go ahead and make those changes so this is how you are

00:55:21.760 --> 00:55:28.540
contain registries are looking so registries public or a private either you can use docker

00:55:28.540 --> 00:55:36.320
hub or you can use cloud base and you can automate the process of release for example

00:55:36.840 --> 00:55:43.160
you need to initialize with your github and cscd so do you all work on devops do you

00:55:43.160 --> 00:55:49.200
work on devops okay so are you aware of cscd what is cscd do you understand what is cscd

00:55:50.420 --> 00:55:56.780
do you understand these terms just understand but do we know what is cscd what is cscd

00:55:56.780 --> 00:56:04.400
what exactly happens in this you're right what exactly happens in continuous integration process

00:56:05.360 --> 00:56:14.260
let me talk about it in case so example i'm a developer and if i push the code to github

00:56:14.260 --> 00:56:18.740
for example i keep on writing code push the code

00:56:24.100 --> 00:56:32.400
and test the code immediately i will give a notification or errors i can see those and

00:56:32.400 --> 00:56:38.920
understand if my code is written properly yeah write the code you push the code or make

00:56:38.920 --> 00:56:45.820
your github and the build and test of the code happens immediately and you can see the results

00:56:45.820 --> 00:56:51.460
and now you think okay my code is good it's working fine this is called as continuous

00:56:51.460 --> 00:56:56.880
integration and the delivery means it releases application quite quickly like pipelines the

00:56:56.880 --> 00:57:04.960
docker hub is where you can create registries webhook and all it so now in docker hub

00:57:04.960 --> 00:57:08.880
either you can pull and push all existing images for example you have a machine which

00:57:08.880 --> 00:57:14.160
containers you can do a install docker and then i can search the images in docker hub

00:57:14.920 --> 00:57:21.900
i can pull or run all these or other method is you create your own image

00:57:21.900 --> 00:57:28.640
you write a file called vi docker file and put all the contents of the image

00:57:29.760 --> 00:57:35.120
and you save this file in github and then once you're done then you say docker build command

00:57:36.940 --> 00:57:44.200
and give a name for the image and you build the image you test it and then you push it

00:57:44.200 --> 00:57:49.380
for others to use it okay we have a demo for all these labs we have so in brief you can

00:57:49.380 --> 00:57:55.740
use the existing ones or create own images and then you can integrate automation all these

00:57:56.300 --> 00:58:03.660
things using your cicd and then you can start using across very brief you can do a pull

00:58:03.660 --> 00:58:07.180
you can do a pull build you create a container

00:58:08.760 --> 00:58:12.700
when things are continued you create a file you can commit that continuous your image

00:58:12.700 --> 00:58:19.760
and then you can push the repository so others can see it stop remove so these are some

00:58:19.760 --> 00:58:25.300
important commands to get started so now we'll see some commands take a break and then install

00:58:25.860 --> 00:58:32.520
so these are your cheat sheets so layers what's the image what's the container what registry

00:58:32.520 --> 00:58:38.040
you're not using it right now docker compose we'll talk about later one pull i raise docker pull

00:58:38.660 --> 00:58:46.660
i can start stop i can create and login i can kill all these so these are some commands

00:58:46.660 --> 00:58:52.380
using which you can get started what i've done i've made this commands much more easier for

00:58:52.380 --> 00:58:56.160
you in different documents so that you really understand which is important docker commands

00:58:56.160 --> 00:59:00.540
so once you install docker it's a version of docker by using docker version

00:59:01.500 --> 00:59:06.440
if you want to know what exactly a docker software consists of you can say docker info

00:59:07.220 --> 00:59:12.480
pull you can say pull to see images download xa docker images create

00:59:12.480 --> 00:59:17.140
containers with different options one i can d run i can i can it we talk about in detail

00:59:17.920 --> 00:59:23.760
login use exit to see container we can use ps running containers you want to see all of

00:59:23.760 --> 00:59:31.740
them you see ps have an a i can authenticate by doing docker login and we can start stop now

00:59:31.740 --> 00:59:36.980
you might want to know what is in a container what layers what is the ip address what

00:59:36.980 --> 00:59:42.540
configurations for any of the docker objects we can use inspect you can say docker inspect

00:59:42.540 --> 00:59:49.000
images or containers you can commit the changes and you want to share it with others you tap

00:59:49.000 --> 00:59:54.440
your image with the repository and then you push it so that others can see your container

00:59:54.440 --> 01:00:00.480
changes these are the different commands for working with your containers and doctors which

01:00:00.480 --> 01:00:08.960
are going to explore okay i think any questions team the first part is what i wanted to talk

01:00:08.960 --> 01:00:16.660
first session we should learn about what is your container we learned about docker we learned

01:00:16.660 --> 01:00:21.500
about different components of docker like docker registry docker client and docker host

01:00:22.800 --> 01:00:30.140
and how what are the container what it consists of what are docker images what are layers

01:00:30.800 --> 01:00:35.920
how do you install docker and some important commands any questions i would like to understand

01:00:35.920 --> 01:00:42.100
you all when you want to have a short breaks when you want to learn breakfast or lunch break

01:00:42.100 --> 01:00:48.000
please let me know so that you can plan accordingly what time you prefer to have your

01:00:48.000 --> 01:00:55.100
coffee break what time people lunch breakfast break or lunch break so they understand i think

01:00:55.100 --> 01:01:01.500
you all had breakfast everyone you all had breakfast before the joint session okay okay

01:01:01.500 --> 01:01:06.280
so you tell me now when you want to have coffee break when when you want lunch break

01:01:06.280 --> 01:01:10.980
whatever you want to say because i want to understand how it doesn't work at your end

01:01:10.980 --> 01:01:15.820
you want to go now for short break you need a coffee break now okay so are we good for

01:01:15.820 --> 01:01:22.060
coffee break 15 minutes now and then once we come back we will install docker and we'll

01:01:22.060 --> 01:01:27.500
learn about the lab in which we'll pull the image create containers all of them

01:01:28.190 --> 01:01:35.190
after the break yeah so let me put a timer so we have a 15 minute break yeah thank you

01:01:35.190 --> 01:01:35.910
we'll be back soon

01:01:57.610 --> 01:01:58.110
you

01:02:40.270 --> 01:02:40.810
you

01:02:49.650 --> 01:02:53.530
please confirm your bathroom break we'll wait for a minute for others to join in

01:02:54.340 --> 01:02:57.700
any questions you can ask me any questions i think we're good to start let's continue

01:02:57.700 --> 01:03:03.560
i will work on the hands-on now please access your module and click on the last folder and

01:03:03.560 --> 01:03:10.620
in this the lab one yeah so in case if you use your own putty tool this is the example

01:03:10.620 --> 01:03:14.020
we direct you to login and we run this command so we're going to run these commands

01:03:14.020 --> 01:03:22.540
install docker now yeah so back to your desktop so login to your desktop in case

01:03:22.540 --> 01:03:23.180
you're not good

01:03:26.640 --> 01:03:28.220
and open the terminal

01:03:30.700 --> 01:03:38.300
login to the first vm login to any of the vms which is given to you so the syntaxes

01:03:42.000 --> 01:03:42.060
is

01:03:44.560 --> 01:03:50.460
then you have to go the path the path is this home

01:03:52.400 --> 01:03:57.300
student and vm underscore details

01:03:59.420 --> 01:04:10.260
so first go to this path CD home student and vm underscore details

01:04:13.080 --> 01:04:21.780
and in this location now you say ssh hyphen i the key name and the user name is proven to

01:04:22.760 --> 01:04:33.580
that the public ip of the first machine the first machine ip which is given to you

01:04:35.180 --> 01:04:39.840
yeah to confirm once you see a screen now

01:05:18.380 --> 01:05:21.720
yes is my screen visible everyone clear it's my screen

01:05:21.720 --> 01:05:29.220
i mean this now

01:05:34.400 --> 01:05:39.100
so if you open multiple windows load the other windows so that you get confused

01:05:40.100 --> 01:05:44.220
so open one in one as of now

01:05:55.900 --> 01:05:57.500
just have one terminal window

01:06:01.180 --> 01:06:01.860
so

01:06:01.860 --> 01:06:09.120
so now we are logged into the vm so now you can this is the next so you can do a clear

01:06:09.120 --> 01:06:16.460
you can play around so open to so first we'll do a pseudo su hyphen so pseudo su hyphen

01:06:17.140 --> 01:06:26.080
would give a root privileges and now we're doing the hands-on of lab one so locked in

01:06:26.080 --> 01:06:31.040
different method use apt update run these three commands run these commands

01:06:34.940 --> 01:06:40.720
first do a pseudo su hyphen and then run these three commands without the prompt

01:06:44.340 --> 01:06:48.000
and confirm the doctor version once you've done these steps

01:06:52.220 --> 01:06:57.800
so first one apt update see apt update would download the latest packages

01:06:57.800 --> 01:07:02.940
a copy of it on your local so that we can install it quickly

01:07:10.700 --> 01:07:18.120
and then you can say apt install along with dependencies hyphen y and then you can say

01:07:18.120 --> 01:07:20.920
the application is docker.id

01:07:31.880 --> 01:07:34.780
this is going to install docker software

01:07:46.440 --> 01:07:46.980
so

01:07:46.980 --> 01:07:52.260
once you run the first two commands install it or the stats now next one is to enable

01:07:52.260 --> 01:07:55.460
docker service in your run levels in linux

01:08:07.100 --> 01:08:13.580
and then confirm the docker version so let me see what's happening at your end

01:08:21.680 --> 01:08:29.900
okay good uh cars any any questions yeah so can you do a control c control c

01:08:31.590 --> 01:08:39.290
the spelling is wrong you see spelling is wrong it is d-o-c-k-e-r spell check typo error

01:08:41.330 --> 01:08:42.490
no it is

01:08:42.490 --> 01:08:56.790
d-o-c-k and after k is er do a control c do a control c

01:08:56.790 --> 01:09:05.510
look here i can't see a screen good okay

01:09:12.210 --> 01:09:17.030
others any questions are we good okay fine so your first step

01:09:17.310 --> 01:09:28.630
okay so now type in docker and press enter type in docker and press enter you get lots of commands

01:09:28.630 --> 01:09:35.110
to see the commands type in docker press enter all these are commands docker 1 docker exec

01:09:35.110 --> 01:09:41.410
docker ps build and all and if you want to run any command with the help you can see

01:09:41.410 --> 01:09:49.170
what are the options so example you want to know what is docker 1 you can say docker 1

01:09:49.990 --> 01:09:58.490
and space hyphen hyphen help let's you know what is this command and how to use the command

01:10:03.070 --> 01:10:08.930
yeah so use any command see how to browse or look into the help options

01:10:09.670 --> 01:10:18.690
so every command we have a help and using these options you can work to create containers

01:10:21.850 --> 01:10:27.730
so every command you want to know what is for images what are docker images for example you

01:10:27.730 --> 01:10:35.690
can say docker space images hyphen hyphen help and that lets you know this is for to list

01:10:35.690 --> 01:10:42.890
images you can use these commands docker image list docker image list docker images

01:10:43.850 --> 01:10:51.530
and these are the options there's one more command type in docker space info please type

01:10:52.270 --> 01:10:54.490
docker space info and press enter

01:10:57.170 --> 01:11:06.410
you run it observe the output so docker info gives you a client portion

01:11:08.490 --> 01:11:16.270
and this is your server portion it says what is running containers the version the logs

01:11:16.810 --> 01:11:22.810
architecture all the information about your host network log swarm

01:11:23.710 --> 01:11:30.110
and you see the directory of docker the configuration the 1 gb of the server

01:11:30.730 --> 01:11:33.190
now let's go to this location so go to the

01:11:37.510 --> 01:11:48.430
our live docker and press enter and do ls so this is where you can see all your

01:11:48.990 --> 01:11:52.510
files of docker and this commands

01:11:55.990 --> 01:12:03.710
so run in the command of docker you see all the docker commands you can use the help you can

01:12:03.710 --> 01:12:08.650
see docker in for using which you can find in the complete details of all the client and

01:12:08.650 --> 01:12:13.870
server components and under where live docker the root directory you can see all your docker

01:12:14.430 --> 01:12:18.910
files so if you download any image it will go to this location

01:12:19.650 --> 01:12:24.590
okay any volume will go to this location default okay any questions team are we good

01:12:25.670 --> 01:12:36.030
now let's do a lab one more lab in module one labs we're going to lab two in which

01:12:36.030 --> 01:12:41.550
we are going to work with we want to create container full images

01:12:43.430 --> 01:12:48.350
so i'll explain this lab first we will pull in the image of docker engine x

01:12:49.230 --> 01:12:55.330
we'll observe how it pulls and then we'll list the images which is pulled by your docker

01:12:55.330 --> 01:13:00.530
images and then we create a container from it in the run command we observe the images

01:13:00.530 --> 01:13:05.690
got created using dockerv as a docker container list to see whether container got created and

01:13:05.690 --> 01:13:11.550
i might want to see the ip address so i can do inspect the ip id or i want to grab the

01:13:11.550 --> 01:13:17.110
information so i can ip address that's what just to browse so container get ip addresses

01:13:18.070 --> 01:13:22.790
because containers also need to be part of a network for communication across multiple

01:13:22.790 --> 01:13:28.530
containers then we will try to log in the container by using logger docker exec command

01:13:28.530 --> 01:13:32.410
exec hyphen it the container id and the name or you can just contain a name

01:13:33.330 --> 01:13:38.370
and create some file consider your developer or tester you try to create some file

01:13:39.710 --> 01:13:44.830
and observe the files got created then it's a good practice to do a control pq

01:13:44.830 --> 01:13:49.830
to exit don't type in exit you want to come back to your host control pq it'll be back

01:13:49.830 --> 01:13:55.810
to the host you can stop the container you cannot run docker command into the container

01:13:55.810 --> 01:14:01.670
it will be on the host you can stop it and see what happened you cannot log in you again

01:14:02.850 --> 01:14:08.750
login and check whether you have the file if you want you want to put some contents into it so

01:14:08.750 --> 01:14:13.270
you can install the editor you will write it and then try to put some text into it

01:14:15.510 --> 01:14:22.010
so the first part is all about how you create images how do you see the images how do we

01:14:22.010 --> 01:14:28.950
locate a container how to log in the container how we can create some files and how you can do

01:14:28.950 --> 01:14:35.310
basic operations in a container is the first part are you good the first part everyone

01:14:35.310 --> 01:14:46.310
the flow let's start so clear first command docker full indynext

01:14:47.610 --> 01:14:54.970
let us command this would go ahead and download the latest version of indynext from docker hub

01:15:02.770 --> 01:15:06.550
you're good good charge you're good everyone are we good

01:15:07.830 --> 01:15:17.990
okay so now what i do is i would say docker space images so this will show you the repository

01:15:17.990 --> 01:15:27.330
from which you could create it yeah okay okay tag name image id and this image was updated

01:15:27.330 --> 01:15:34.970
two weeks back in docker hub by docker the next step to create a container from here so

01:15:34.970 --> 01:15:42.010
the different options so i'd say docker run hyphen d and the report name

01:15:43.930 --> 01:15:48.270
and colon the tag name this is an optional tag name option the latest one you can also skip

01:15:48.270 --> 01:15:59.350
it or you can type it like this and press enter okay create a container now everyone

01:16:06.890 --> 01:16:13.930
docker run is there a document also docker run hyphen d space indynext colon latest

01:16:16.470 --> 01:16:21.830
okay good uh you're good charge

01:16:23.190 --> 01:16:28.330
junior good let me see your charge charge what's happening do a control c

01:16:30.030 --> 01:16:36.410
do control c do controls yeah one second yeah one second what did you do with the previous command

01:16:37.110 --> 01:16:46.170
no no no you have to use yes yes you're good the charge is good next is uh okay what's happening

01:16:48.050 --> 01:16:52.550
whose screen is this ck any questions i think you are lagging okay

01:16:53.690 --> 01:16:57.570
okay if you created all right i think all are good so now let's proceed

01:16:58.230 --> 01:17:02.290
so now it's created so now how do i check it i can do a docker ps

01:17:03.690 --> 01:17:09.630
and you see it can create a container so the container id and this is your container name

01:17:10.950 --> 01:17:15.870
and this is the image from which you created and what command ran inside

01:17:15.870 --> 01:17:18.130
and the time and you can also use docker ps

01:17:20.170 --> 01:17:24.670
hyphen a sometimes if you see you want to see all the content docker ps will show only

01:17:24.670 --> 01:17:30.350
running containers psf enable show all the containers stopped running containers

01:17:30.350 --> 01:17:35.630
okay this is one method to create a container so now let's see how to log into it for logging on

01:17:35.630 --> 01:17:47.710
to it docker exec hyphen ip the container id or the name

01:17:52.970 --> 01:17:55.750
copy and paste it

01:17:56.510 --> 01:18:02.530
and then you can mention the shell so the next we use different shells bash

01:18:03.230 --> 01:18:11.470
bin slash fh other shells so back in here and now inside the container you can see that

01:18:11.470 --> 01:18:17.570
it is your host name of the container now how do we confirm that this is your container

01:18:18.130 --> 01:18:24.550
so this must have all the application files so you can explore so you can use a find command

01:18:24.550 --> 01:18:32.470
for example in linux find this is an observation and i can say i want to find the container files

01:18:32.470 --> 01:18:37.330
i do a find you see that i'm able to see the content files some files cannot be teached

01:18:38.630 --> 01:18:45.670
can i see other files for example i might want to work on index.html and it is there

01:18:46.370 --> 01:18:53.730
you see that whatever your application you require is already available so now you understand

01:18:53.730 --> 01:18:58.250
that containers properly created for you so you have to go and find so you see a file

01:18:58.250 --> 01:19:04.870
so now can i write something so i can write some stuff i can find i'm able to do a file

01:19:05.710 --> 01:19:07.110
and i can see the file in here

01:19:10.490 --> 01:19:14.630
can i make some changes so i can use

01:19:17.450 --> 01:19:21.010
so whenever you want to install anything in a container first you update

01:19:21.010 --> 01:19:26.230
and now i want to install vim editor for example i say install vim

01:19:29.610 --> 01:19:31.470
editor for modifying your data

01:19:33.330 --> 01:19:34.750
then you would install

01:19:36.430 --> 01:19:40.490
so i can open the same file i'm writing something some txt

01:19:41.690 --> 01:19:44.510
and then you can save the text just play around

01:19:47.190 --> 01:19:50.610
so play around what you want to do in a container you can do any of your operations

01:19:50.610 --> 01:19:55.530
so i just create a small file and i put some contents into it

01:19:57.230 --> 01:20:00.970
yeah play around in the container what i'm going to do

01:20:00.970 --> 01:20:07.470
create a file try to put in some text into it we all know how to use vim editor

01:20:09.330 --> 01:20:10.990
do we know how to use editor tools

01:20:13.630 --> 01:20:23.410
everyone any questions okay uh yeah so press i press i press i on your

01:20:23.410 --> 01:20:30.870
yes put some type in something type something yes now press escape others please observe

01:20:30.870 --> 01:20:39.970
press if you want to save this file press escape on your laptop colon colon wq escape

01:20:39.970 --> 01:20:49.090
colon wq quicker escape button first press escape colon wq

01:20:51.750 --> 01:21:02.290
sorry are you with me yeah okay now so do a cat command do a cat of the file name

01:21:04.150 --> 01:21:07.330
cat and the file name the cat type in cat

01:21:10.370 --> 01:21:12.450
remove this go back backspace

01:21:12.450 --> 01:21:26.130
yes yeah do a cat cat no no you're doing something wrong okay type the file name space

01:21:27.730 --> 01:21:32.610
space example dot txt no no you're doing something is wrong can type in exit here

01:21:34.430 --> 01:21:41.330
press colon yes now again can you log in log into a server can you do a

01:21:42.210 --> 01:21:51.110
pseudo is hyphen pseudo su hyphen pseudo su space hyphen yeah enter yeah type in docker

01:21:51.110 --> 01:21:59.590
type in docker and press enter just type in docker no hyphen okay fine so now can you do a

01:21:59.590 --> 01:22:02.610
do a docker ps

01:22:05.490 --> 01:22:09.510
remove this i'm not sure why i'm adding those yeah yeah remove those

01:22:09.510 --> 01:22:13.430
additional characters remove those use the backspace

01:22:16.870 --> 01:22:18.710
yeah type in docker space ps

01:22:22.870 --> 01:22:31.350
no no hyphen yes yeah now type in docker type in docker exec

01:22:34.510 --> 01:22:45.990
ec ec yeah c c for charge space if an it hyphen it t for tango for tango or tom

01:22:47.690 --> 01:22:56.110
not d t yes space copy the container name or the id not copying properly you're missing

01:22:56.110 --> 01:22:59.370
it is right click slowly okay i'll tell you how to copy it one second one second

01:22:59.370 --> 01:23:08.790
yeah yes highlight on it no no no slowly please so can you highlight on your container id below

01:23:10.810 --> 01:23:16.010
that okay now what what you do now is below the container id okay

01:23:17.950 --> 01:23:30.710
okay space space use this bash b a s h enter not typing clear this type here

01:23:32.150 --> 01:23:42.390
now type in vi vi before victor i space example dot txt enter

01:23:43.450 --> 01:23:46.750
press enter yeah press i have you used edited tool before

01:23:48.150 --> 01:23:52.190
so what you do is come out of this let's make it simple escape colon wq

01:23:54.210 --> 01:24:00.670
escape colon wq just press q escape colon i'm not sure i think you're not able to

01:24:00.670 --> 01:24:08.690
use those options uh on your escape press escape button escape yes escape colon

01:24:09.690 --> 01:24:16.530
escape one you have to do it faster okay uh yeah that's fine so make it simple do a touch

01:24:17.210 --> 01:24:26.270
log in the container now again use app arrows use the app arrow in your prompt okay uh i

01:24:26.270 --> 01:24:33.010
think you're not not sure what you're doing others are able to do it uh this one check

01:24:33.010 --> 01:24:41.550
everyone is speaking now okay do a do a control c type and clear type and clear first

01:24:42.130 --> 01:24:46.270
now what i'm going to do do a pt space update yeah space update this is come and give the

01:24:46.270 --> 01:24:51.890
document yeah next you say apt what i'm going to want to you can either use apt or

01:24:52.950 --> 01:25:06.390
yes space apt space install weapon install space vim vim enter now we can say vim vim space

01:25:06.390 --> 01:25:16.130
example dot enter i press i choose yeah type in some content

01:25:16.130 --> 01:25:24.110
what i want to do is escape colon wq escape so team to save the file once you enter it you

01:25:24.110 --> 01:25:34.690
have to use escape colon wq and press enter type whatever you want press escape then colon

01:25:36.930 --> 01:25:41.170
wq to save and quit i think you're not able to can you mock mock can you make it small

01:25:41.170 --> 01:25:44.630
or something i'm not sure how do i take control did you have an option to me to give

01:25:44.630 --> 01:25:50.010
control now i have no i don't have control i don't think you can do it let's check okay uh

01:25:50.010 --> 01:25:56.850
novel proc are you there don't target the terminal how will i i need to get access to

01:25:56.850 --> 01:26:05.150
your session i'm not sure how does it work for your machine and insight there's an option to

01:26:05.150 --> 01:26:10.590
controlling here i think i'll show you once more please observe at my end yes yeah don't

01:26:10.590 --> 01:26:17.810
yes yes yes let me show you again please observe my screen i'm going to do it

01:26:17.810 --> 01:26:26.350
see for example if you want a file i have to use okay i go inside you want to write something

01:26:26.350 --> 01:26:36.130
i press i you see insert mode now i can i can make some changes everyone please observe i press

01:26:36.130 --> 01:26:44.550
i i make some changes so now i want this file to be saved and i want to be out of this file

01:26:44.550 --> 01:26:54.930
so i press escape the i would go insert go away and then you press colon wq and press enter

01:26:56.890 --> 01:27:00.050
later on this is useful for the kubernetes only you need to know this

01:27:00.970 --> 01:27:07.310
if not it's quite difficult for the kubernetes labs also so put in a file with the file make

01:27:07.310 --> 01:27:18.310
changes we're going to i once you're done press escape the i will go away then press colon wq

01:27:18.310 --> 01:27:26.070
and press enter see the file docad and the file name where you have to see the file contents

01:27:26.070 --> 01:27:33.270
okay let's see how many are good in here are you good yes yes okay

01:27:34.110 --> 01:27:42.870
try to get a file now apd first do apd space update go apd space update space update enter

01:27:44.750 --> 01:27:51.530
install them apd hyphen get install them yes now them vim you can give a different name

01:27:51.530 --> 01:27:54.810
that's fine forget of the same name give some of the name no no i think might be

01:27:55.370 --> 01:28:00.710
make it some other name test or something some other name test or whatever you want yes

01:28:00.710 --> 01:28:07.510
okay enter press i yes put some content stuck in the previous one do different one because

01:28:07.510 --> 01:28:24.790
again error so do something the new file yeah escape press escape on your laptop on a

01:28:24.790 --> 01:28:34.310
escape colon w q yeah enter now do a cat and the file name so a cat and the file name

01:28:35.790 --> 01:28:46.790
cat cat cat cat cate use a tab it's an xbox in the tab will pop later and have a good time so

01:28:46.790 --> 01:28:54.770
Charles okay you're good and gene on your laptop colon shift and semicolon

01:28:54.770 --> 01:29:00.370
button shift and semicolon button on your laptop shift and semicolon your

01:29:00.370 --> 01:29:12.050
button yeah W Q W W type in W Q Q for create quick enter enter yes and now

01:29:18.630 --> 01:29:28.130
okay please be comfortable on these commands okay last one let's see for

01:29:28.130 --> 01:29:39.970
so what's happening who spin is this CK what happened you can go see all right

01:29:39.970 --> 01:29:46.410
team yes I repeat again you must be comfortable in using BI and Linux

01:29:46.410 --> 01:29:52.350
basics because without this very difficult for you to the hands on yeah

01:29:52.350 --> 01:29:56.730
so please look into these commands in case your time the evening just

01:29:56.730 --> 01:30:01.950
this you need to have knowledge of how to use this yeah so now I'm the

01:30:01.950 --> 01:30:07.750
container so to cover the container you have to press control P Q in the same

01:30:07.750 --> 01:30:16.110
time so you want to be back to host press control P Q control button P Q

01:30:16.750 --> 01:30:24.810
control press C and Q all these three button the same time I'll be back to

01:30:24.810 --> 01:30:34.870
stop the host okay I think I'm good fine so next one so now let's do some

01:30:34.870 --> 01:30:41.230
process let's stop the contain how to copy it observe how to copy it so if

01:30:41.230 --> 01:30:47.850
you want to copy something you copy it by highlighting what you want it

01:30:47.850 --> 01:30:55.290
gets it'll normally be a copy let's see this and then I click on paste you

01:30:55.290 --> 01:30:59.210
need not even right click and copy it just highlight it'll get copied and

01:30:59.950 --> 01:31:04.130
wherever you want cop right click and paste it you need not go and copy

01:31:04.130 --> 01:31:08.230
manually just go ahead and try to do this just highlight it and wherever you

01:31:08.230 --> 01:31:11.110
want you right click you look at paste are you clear that's it you're

01:31:11.110 --> 01:31:16.710
good I think yeah this is how we start working in okay so now you can

01:31:16.710 --> 01:31:21.270
do some operations can you log in you cannot log in now because it stopped

01:31:21.270 --> 01:31:26.850
right so try to use the app you can use app arrow in Linux and it'll log

01:31:26.850 --> 01:31:31.150
into it you cannot log in because it is not running so what are supposed

01:31:31.150 --> 01:31:35.030
to do what's supposed to do now cannot log in what is supposed to do

01:31:35.030 --> 01:31:45.190
it is done you want so instead of start make it start and now log in

01:31:45.190 --> 01:31:54.090
to the container and see whether you have the file do the same file and do a

01:31:54.090 --> 01:32:03.990
cat and use it and start it log in back and see if you have the same

01:32:03.990 --> 01:32:11.690
file okay you see it do a cat now do a cat and the file name type in cat

01:32:11.690 --> 01:32:18.870
cat in the file name just type in you can use it yes example to dot exe so

01:32:19.450 --> 01:32:24.850
this is how we can log in back see the files you see when you stop and

01:32:24.850 --> 01:32:31.710
start this the file is still existing now press control pq come to the host

01:32:31.710 --> 01:32:39.690
control pick you in sequence that's it I think a good now come out yeah

01:32:39.690 --> 01:32:45.770
press control take you to come out this is how you create a container and how

01:32:45.770 --> 01:32:52.090
we log into the container and how we see the running containers so now

01:32:53.170 --> 01:32:58.290
next this you want to share this file what you created with your team

01:32:58.290 --> 01:33:06.570
members so you need to push it to a repository so did we all create a

01:33:06.570 --> 01:33:12.910
go in docker hub before create a own repository or not let's start again so

01:33:12.910 --> 01:33:20.510
what you now do is please observe go along with me do a docker ps first

01:33:21.350 --> 01:33:27.610
and type in docker commit docker commit the container

01:33:29.510 --> 01:33:38.950
in this to a new image give any image do a docker space comment space your

01:33:38.950 --> 01:33:43.850
container name or the ID and give the image name and check if it has got

01:33:43.850 --> 01:33:47.030
come stated so again do a docker images

01:33:49.630 --> 01:33:55.850
and check whether you have a new image the contents of the container and

01:33:55.850 --> 01:34:03.510
image I'm confirming okay I think June is good charge is good

01:34:03.510 --> 01:34:08.730
he is good okay I think we're in it now so now this is what you want to

01:34:08.730 --> 01:34:13.710
so let's see the syntax you can also use the docker tag this is syntax of

01:34:13.710 --> 01:34:20.430
every command do a docker tag and type in up and help it says docker

01:34:20.430 --> 01:34:27.470
tag source image and the target image so your source is a IN01 which is

01:34:27.470 --> 01:34:37.810
supposed to share and to where does the target so now do you have from if

01:34:37.810 --> 01:34:42.950
you don't can create a repository in docker hub they can create a

01:34:42.950 --> 01:34:48.830
repository give a name and click on create confirm on your time please

01:34:48.830 --> 01:34:54.870
access hub.docker.com in your browser hub.docker.com and create a new

01:34:54.870 --> 01:35:00.610
repo confirm once done are you doing it team I don't see the screens are you

01:35:00.610 --> 01:35:06.750
doing it repo in your docker hub please confirm access hub.docker.com

01:35:06.750 --> 01:35:10.770
and get a repository and confirm once you're done the chat please

01:35:10.770 --> 01:35:14.370
confirm because I can't see this my data didn't for me your browser

01:35:17.430 --> 01:35:18.630
confirm what

01:35:18.630 --> 01:35:27.910
create a repository so click on click on repo click on create a repo give a

01:35:27.910 --> 01:35:32.950
name yes and create click on create confirm one this is done others so now

01:35:32.950 --> 01:35:38.650
the repository is this is a repo where you want for example so you have to

01:35:38.650 --> 01:35:43.490
tag to this and push to this so now what you can do is I am going to

01:35:43.490 --> 01:35:47.170
the command in notepad so that I can show you easily because the screens

01:35:48.990 --> 01:35:57.490
syntaxes I'll say docker tag yeah my image name is img01 my image which I

01:35:57.490 --> 01:36:05.450
want to tag is img01 and the tag name of latest of images this this

01:36:05.450 --> 01:36:12.190
my source where to push this is my target I put a complete name so my

01:36:12.190 --> 01:36:21.310
complete name there I want to push slash repo are we clear so docker tag

01:36:22.030 --> 01:36:28.190
the img01 colon latest and in here and I'll paste it for you also in chat

01:36:28.190 --> 01:36:34.530
and given some image version or latest you can say anything and you

01:36:34.530 --> 01:36:40.570
can say version point two for example so in this syntax modify your

01:36:40.570 --> 01:36:47.290
repo name modify this from this what I've pasted you and run this command

01:36:47.290 --> 01:36:51.390
modify your repo complete repo name with what I've given to you in the

01:36:51.390 --> 01:36:56.330
same syntax and run it

01:37:01.530 --> 01:37:06.810
and again do a docker images and let me know what happened

01:37:09.890 --> 01:37:14.430
no no what is the name you gave before you are not done it properly you're

01:37:14.430 --> 01:37:18.790
not coming to problem docker comment you did you not mention can you go

01:37:18.790 --> 01:37:25.070
again use the apparel please use the apparel use the apparel type no type

01:37:25.070 --> 01:37:30.130
enough use apparel in the prompt yes yes yes yes once more once more

01:37:30.330 --> 01:37:37.630
not this command month more use the apparel for docker comments slowly go

01:37:37.630 --> 01:37:44.050
back to docker commit command docker commit paste the type in docker space

01:37:44.050 --> 01:37:53.030
commit yeah okay type in other words type it docker space commit space

01:37:53.990 --> 01:38:03.030
the container ID paste it that a three five the a three five see in the top

01:38:03.030 --> 01:38:11.690
yes yes yes paste it don't present it wait so now give a space space IMG zero

01:38:11.690 --> 01:38:22.570
one IMG zero one zero one press enter present now run the tag command

01:38:22.570 --> 01:38:26.550
again the same which you ran before just run this attack command again yes

01:38:26.550 --> 01:38:32.030
now do a docker space images okay are we good you say top one the first one

01:38:32.030 --> 01:38:39.150
first one is what is being tacked to okay others be good I think chance is

01:38:39.150 --> 01:38:46.390
stuck somewhere okay change you're good let last one is gene you're good

01:38:47.190 --> 01:38:54.230
and we also talked about CK when CK is good yeah so now how do you push it

01:38:54.930 --> 01:38:59.770
let us see the learner syntax so now if we do a docker push and see the

01:38:59.770 --> 01:39:02.310
help of it

01:39:03.350 --> 01:39:09.750
do a docker push and see help of it and see a syntax so it says docker

01:39:09.750 --> 01:39:15.850
push an option in the name tag yeah so it means that you can use the

01:39:15.850 --> 01:39:22.130
name command is for your tag and just mention the destination so you can say

01:39:22.670 --> 01:39:31.870
docker push and give your destination location so docker push space your

01:39:31.870 --> 01:39:34.490
report colon the tag name

01:39:35.830 --> 01:39:43.650
so it asks for authentication and for monsters do something like this okay

01:39:43.650 --> 01:40:00.170
is good okay give your username which is signed up for a docker hub use the

01:40:00.170 --> 01:40:08.430
username and enter the password of a docker docker have account and press

01:40:08.430 --> 01:40:16.170
enter so authenticate by you in docker space login and then execute and then

01:40:16.170 --> 01:40:23.370
do a push now it must push in the contents from a local to central

01:40:30.150 --> 01:40:36.750
yeah good so now refresh your repository refresh your repository and

01:40:37.510 --> 01:40:41.930
you must be seeing the image in here and if you want your colleagues to pull

01:40:41.930 --> 01:40:47.270
for example we can go to tax tab and you say tag name and you can give it

01:40:47.270 --> 01:40:51.290
your colleague for example you pull mine so this is mine copy if you want

01:40:51.290 --> 01:40:59.190
mine you can pull it and get a container from it yes let's see can I

01:40:59.190 --> 01:41:05.150
do this try to pull others exchange and see the image and try to get a

01:41:05.150 --> 01:41:12.150
container from it and see if you can see yes let's see I want you to pull my

01:41:12.150 --> 01:41:18.450
image get a container from this image and see what is there in my example dot

01:41:18.450 --> 01:41:24.750
txt this experiment I want you to do yourself and do chance now go back

01:41:24.750 --> 01:41:33.630
to your repository in a docker hub go back to docker hub browser and see

01:41:33.630 --> 01:41:40.530
do you refresh do you see the image there yes yes so now my next quiz can

01:41:40.530 --> 01:41:45.570
you copy mine and try to get a container from it I want you to pull

01:41:45.570 --> 01:41:51.070
my image and give me a chat history run that command and try to get a

01:41:51.070 --> 01:41:54.370
container from it do a do a clear

01:41:56.210 --> 01:42:00.710
see you need not be in always in very little docker just type in cd type in

01:42:01.470 --> 01:42:08.070
cd press enter yeah yeah now try to copy what I get in the chat the

01:42:08.070 --> 01:42:13.110
chat I've given you pull command pull mine run the command copy and paste

01:42:13.110 --> 01:42:16.130
the command not sure why are you typing everything manually you're not even

01:42:16.130 --> 01:42:21.810
copying paste it must work others okay okay I'm not sure it must work

01:42:22.670 --> 01:42:28.110
copy and paste from your chances to experiment the next one yourself let's

01:42:28.110 --> 01:42:34.010
see okay one second docker space login first we're asking you to log in one

01:42:34.010 --> 01:42:39.850
second do a docker space login authenticate okay okay sorry sorry one

01:42:39.850 --> 01:42:43.610
second once again I think I gave a wrong name sorry sorry my mistake once

01:42:46.250 --> 01:42:52.530
confirmed no you type in manually sorry my name is wrong see the spelling

01:42:52.530 --> 01:42:55.770
take the now catch it up so I thought you copy and paste it bring is

01:42:55.770 --> 01:42:59.230
wrong okay play around yes are we good I'm getting at the concept of

01:42:59.230 --> 01:43:07.170
how to work with containers okay now download this is who's screen is this

01:43:07.170 --> 01:43:10.370
machine like now it is June June you're good now so what do you do

01:43:11.250 --> 01:43:18.730
so now you're inside my container correct so now do a list do a list no

01:43:18.730 --> 01:43:28.090
no you're all in the container right now do a list type in ls ls ls

01:43:28.950 --> 01:43:31.430
not even type it what happens

01:43:35.150 --> 01:43:41.650
okay really long into it okay our team this is how we get started the last

01:43:41.650 --> 01:43:46.110
command so we can also create containers in different methods so this

01:43:46.110 --> 01:43:50.810
is one more method wherein I can get a container and I'll be into the

01:43:50.810 --> 01:43:56.510
container that's an example so example you want to get a container I

01:43:56.510 --> 01:44:07.610
can also use like run-it give the image name colon the cat name and the

01:44:07.610 --> 01:44:14.250
shell so just get a container I'm inside it there's a run-it so now if

01:44:14.250 --> 01:44:18.990
I come out of it do a docker t as you see a new content got created so

01:44:18.990 --> 01:44:24.150
docker run-it is a method in which you get a container and you'll be

01:44:24.150 --> 01:44:27.970
inside it's a container and then you can do ls example.txt and you can see

01:44:27.970 --> 01:44:38.470
my files okay are we good yes you're good June so

01:44:38.470 --> 01:44:44.530
now do a cat of example.txt no no no you're all in a container please

01:44:45.350 --> 01:44:50.030
understand the run-hifi to all your content do a ls do a list please I

01:44:52.030 --> 01:44:57.410
okay okay okay okay Charles are we good

01:45:00.230 --> 01:45:03.530
now what I'm trying to do now

01:45:04.250 --> 01:45:10.950
do control C what I'm trying to do the control C type in clear please

01:45:10.950 --> 01:45:20.270
type clear what is the previous command just use the app arrow twice use the

01:45:20.270 --> 01:45:26.350
app up app arrows yeah yeah once again once again so what I can do did you

01:45:26.350 --> 01:45:30.990
create a container did you push it to docker hub but it no success okay

01:45:31.590 --> 01:45:37.550
can you do a control C do control C

01:45:40.090 --> 01:45:52.830
the space login docker space login enter yes now type in docker space

01:45:52.830 --> 01:45:58.850
push is copy the report the top report completely the charge you see this not

01:45:58.850 --> 01:46:03.250
that not that first the first first column yes copy that this highlighted

01:46:03.250 --> 01:46:09.470
yeah just highlighted that's it no no it's not required this highlighted that's

01:46:09.470 --> 01:46:14.910
it got copied now come back to next push come in next push now right click

01:46:14.910 --> 01:46:22.850
there type in docker space push docker space push face where the

01:46:23.080 --> 01:46:30.960
is there yeah right click please okay type it copy it properly once more you

01:46:30.960 --> 01:46:35.000
just need to highlight what you want to copy it's copy enter no no sorry use

01:46:35.000 --> 01:46:42.320
again app arrow use app arrow yeah colon colon then colon engine X

01:46:42.320 --> 01:46:52.520
version point to see the tag name be point zero point two doesn't know zero

01:46:52.520 --> 01:46:58.680
point to be careful now we see the name of the image use app arrow please use

01:46:58.680 --> 01:47:05.840
app arrow again it is engine X after V you have zero then point point see

01:47:05.840 --> 01:47:16.680
name tag name after V it is zero delete it delete dot yes zero no zero

01:47:16.680 --> 01:47:24.480
zero point two point two and understood documents here tag name the

01:47:24.480 --> 01:47:29.500
tag name the next so now refresh your browser go to your browser in docker

01:47:29.500 --> 01:47:38.060
do you see the images this is how we work are we good okay okay team this

01:47:38.060 --> 01:47:42.120
is a brief about the first one any questions okay I'm getting idea about

01:47:42.120 --> 01:47:47.800
how do you log in to container how do we do the operations any questions

01:47:47.800 --> 01:47:53.640
are we good setting this control so that I can proceed okay okay that's

01:47:53.640 --> 01:47:58.880
what I see understand and you mix the next one let's continue also want

01:47:58.880 --> 01:48:04.960
to understand what time is your preferred lunch time what time you

01:48:04.960 --> 01:48:09.580
prefer a lunch break or you normally take a lunch break now or you take the

01:48:09.580 --> 01:48:14.820
lunch break after class I'm not sure how does it work there and get you so

01:48:14.820 --> 01:48:19.020
you want to break date time team everyone please I request here each

01:48:19.020 --> 01:48:22.600
one let me know when you want to complete after 30 minutes from now or

01:48:22.600 --> 01:48:29.120
right now when you want that's my question they write it 1230 you want 1230

01:48:29.120 --> 01:48:34.000
okay so we is it okay we can give a 30 minutes break for lunch break for

01:48:34.000 --> 01:48:38.200
31 o'clock is that okay or you need more time for lunch break this

01:48:38.200 --> 01:48:43.260
masking how would how is their work with 30 minutes be good for you all

01:48:43.260 --> 01:48:49.680
so for example if I say 1230 to 1 p.m. would be very good confirm by

01:48:49.680 --> 01:48:55.540
using the concepts so that we have beyond this everyone so didn't get you

01:48:55.540 --> 01:48:58.780
you mean you mean to say you need more time yeah that's asking you that's

01:48:58.780 --> 01:49:01.260
why I'm asking how was it open how much time you require you need one

01:49:01.260 --> 01:49:08.080
hour or 45 minutes or 30 minutes okay okay others are we good okay but we

01:49:08.080 --> 01:49:12.120
are because what what is happening here is you're not able to do the hands

01:49:12.120 --> 01:49:17.340
on quick quickly so we are actually going slow compared to the speed

01:49:17.340 --> 01:49:29.220
expected yeah yeah and hence so can we yes yes yes so can we do it from for

01:49:29.220 --> 01:49:39.040
45 minutes say what to 115 sorry 1230 p.m. to 115 yeah we'll do it later so

01:49:39.040 --> 01:49:47.720
right now the time is I think for you it is 12 7 correct the 12 7 okay let's

01:49:47.720 --> 01:49:58.400
continue and then take a break now what is the piece of all the contents so

01:49:58.400 --> 01:50:05.100
tomorrow if you want to create so are you aware of any languages like

01:50:05.100 --> 01:50:11.760
or Java do we have programmatic language anyone in here do you know

01:50:11.760 --> 01:50:17.720
Python or you know Java or you know C sharp any problem languages yes no

01:50:17.720 --> 01:50:23.160
we know C sharp so how do you extract right in your own contents so we

01:50:23.160 --> 01:50:28.840
create a Docker file be a Docker file and then you can mention from there

01:50:28.840 --> 01:50:34.720
you want image you can mention who was the owner of it you can mention

01:50:34.720 --> 01:50:38.860
what you want to install that is the path of your application you can

01:50:38.860 --> 01:50:46.660
mention like for example you create a file called a Docker file and this use

01:50:46.660 --> 01:50:54.020
case is you see it here is to create your own nginx configurations so in

01:50:54.020 --> 01:51:02.660
this folder for example CD project one and in this folder you will have

01:51:02.660 --> 01:51:08.720
Docker file you'll also have some files like in the next dot-com you will have

01:51:08.720 --> 01:51:13.800
all these things in your local machine in the directory and then you can say

01:51:13.800 --> 01:51:20.120
that I want to copy this file to this location a container so into whatever

01:51:20.120 --> 01:51:25.300
files you want you to copy to a folder and you can say add this file

01:51:25.300 --> 01:51:30.240
in the present directory to your containers like this you can also call

01:51:30.240 --> 01:51:36.540
some file which is outside in intranet or internet to be copied so we use add

01:51:36.540 --> 01:51:42.760
or copy to copy the files and we use command and entry point to refer some

01:51:42.760 --> 01:51:49.160
parameters to be run so like this you update all the these are

01:51:49.160 --> 01:51:54.120
instructions these are the arguments so this could be OS of open to it

01:51:54.120 --> 01:52:01.660
could be your CentOS or it could be dot net or this could be JDK anything you

01:52:01.660 --> 01:52:06.140
can use or nothing is there it becomes a scratch scratch means it is from a

01:52:06.140 --> 01:52:11.960
blank image so from is to define some base it could be own images or could

01:52:11.960 --> 01:52:17.480
be a dot net it all depends on what exactly you are trying to create but

01:52:17.480 --> 01:52:26.020
I require minimal OS file so mentioning open to so based on your requirement

01:52:26.020 --> 01:52:29.420
you have to use the appropriate instructions and the arguments and

01:52:29.420 --> 01:52:35.940
like this mention which port number so once written all these things you

01:52:35.940 --> 01:52:41.240
run it so how do you run it to create a build image you say docker

01:52:41.240 --> 01:52:48.720
build and give a name he means that name and you want this name for the

01:52:48.720 --> 01:52:53.420
image which you are building space dot so it means that you're trying to run

01:52:53.420 --> 01:52:58.260
it in the present working directory so when you run this you're running as a

01:52:58.260 --> 01:53:05.040
client now the request was to demon now demon would look in for a file

01:53:05.040 --> 01:53:09.560
named as docker file it will post and file surface like a docker file in

01:53:09.560 --> 01:53:14.360
dot it means the current working directory it understands that the docker file and

01:53:15.080 --> 01:53:21.120
whatever was there in the docker file lines those would get executed the

01:53:21.120 --> 01:53:26.700
first line get executed so the first line would have some output it will

01:53:26.700 --> 01:53:33.260
create a container and the second line if required can use in those

01:53:33.260 --> 01:53:38.700
containers this all does it for temporary and the end it will be your

01:53:38.700 --> 01:53:43.980
image so every line would be executed it will have information caching means

01:53:43.980 --> 01:53:49.480
like a temporary storage the other layers would refer those temporary

01:53:49.480 --> 01:53:54.300
layers get the information and use of the information what is defined in

01:53:54.300 --> 01:53:58.940
those temporary layers it will and then it will collectively create a image and

01:53:58.940 --> 01:54:04.340
it says they may just build and then once you're done you can say docker

01:54:04.340 --> 01:54:08.820
space images and you will see a new image robot created are we clear

01:54:09.800 --> 01:54:15.620
everyone I'll do a hands-on now do a lab now lab 3 this lab so before we

01:54:15.620 --> 01:54:22.240
get started ensure that so let's do together let's create directory so be

01:54:22.240 --> 01:54:27.480
in your CD if you're somewhere do a CD and be on your host you talk more

01:54:27.480 --> 01:54:35.220
lab 2 so lab 3 the word word document so we'll first get a treat I want to

01:54:35.220 --> 01:54:44.280
show for the directory first so you say CD project one so mkdir

01:54:45.080 --> 01:54:53.500
project one example and go inside it CD in a host so now you want to get

01:54:53.500 --> 01:55:00.640
location this is going to have these variables and we're going to start it

01:55:00.640 --> 01:55:05.540
up right so we are trying to create your own container image for Apache

01:55:05.540 --> 01:55:15.860
and these are the lines so copy so same as vi docker file these caps

01:55:17.800 --> 01:55:27.100
vi space docker file I'll get a track copy this contents and paste it copy

01:55:27.100 --> 01:55:28.980
this contents and paste

01:55:42.620 --> 01:55:51.200
copy and paste the contents let's see we have to paste it everyone okay then

01:55:51.200 --> 01:55:56.200
colon the same process escape colon wq is chance in order to copy it

01:55:56.200 --> 01:56:01.640
once again we are yeah same use after we are docker file the same command

01:56:02.840 --> 01:56:12.400
enter remove this do a backspace your backspace this now press I I now go to

01:56:12.400 --> 01:56:16.560
a chat history and copy the contents or you can copy from your document

01:56:16.560 --> 01:56:23.200
also copy the contents have you copied yeah please right click exactly on

01:56:23.200 --> 01:56:29.760
where you have the pointer exactly on yes yeah right click paste paste no

01:56:29.760 --> 01:56:35.420
we're not doing properly go back backspace remove this remove this

01:56:35.420 --> 01:56:40.620
picture copy let me can you share screen using your from zoom share

01:56:40.620 --> 01:56:45.480
screen the option share screen directly helping give access so which

01:56:45.480 --> 01:56:51.200
are using because I don't see it I just see your name I don't see a

01:56:51.200 --> 01:56:57.000
screen share share please share screen in zoom yeah okay it's coming up now yes

01:56:57.000 --> 01:57:02.440
now right click copy the content the chat you see chat we have some contents

01:57:02.440 --> 01:57:05.800
or a document can you go to word document let's see how we're copying it

01:57:05.800 --> 01:57:09.400
please show me how very copy it please okay backspace remove delete it could

01:57:09.400 --> 01:57:15.580
you delete this we're not audible yeah is it because I just can you go the

01:57:15.580 --> 01:57:20.440
document please just we need help I mean you need to do quickly could you

01:57:20.440 --> 01:57:24.040
go to the word document did you say complete I'm sorry I can't I can't

01:57:24.040 --> 01:57:31.360
understand you so can you share your complete screen document of a lab yeah

01:57:31.360 --> 01:57:34.660
please first click enable you see there's not even a downside once again

01:57:34.660 --> 01:57:39.800
click enable edit at the top yes now you can copy till now you're not

01:57:39.800 --> 01:57:43.160
able to copy because of the enable editing getting it yes now you'll be

01:57:43.160 --> 01:57:47.580
able to copy it is not getting copied before because you're not even

01:57:47.580 --> 01:57:52.620
editing now right click space okay use backspace backspace go back to word

01:57:52.620 --> 01:57:57.600
document right click right click in here please click on copy I'm not

01:57:57.600 --> 01:58:00.880
really copied properly put your notepad on your laptop

01:58:01.940 --> 01:58:07.960
fine now copy from again copy from here copy the contents yes now go to

01:58:07.960 --> 01:58:17.560
your terminal right click paste I'm not sure what I'm doing it's not

01:58:17.560 --> 01:58:27.040
WQ no no escape colon WQ and now do a VI again use the VI again we have the

01:58:27.040 --> 01:58:32.860
same yeah enter I write it paste I'm not sure this okay can you someone

01:58:32.860 --> 01:58:38.840
help them help them what what the problem okay might be it is not

01:58:38.840 --> 01:58:43.340
allowing to copy from your office laptop or something restricted okay so

01:58:43.340 --> 01:58:50.080
can you proceed in the meanwhile for this okay everyone so now once you

01:58:50.080 --> 01:58:58.100
paste it press escape colon WQ now to confirm whether properly copied do a

01:58:58.100 --> 01:59:05.820
cat do a cat of the docker file you see

01:59:07.420 --> 01:59:16.180
are we good till here everyone so now want to build this I see doctor build

01:59:17.920 --> 01:59:23.220
hyphen T in a image what anyone gave he made 0 2 for example

01:59:23.800 --> 01:59:27.980
doctor build hyphen t image 0 2 and space one space is there and then dot

01:59:27.980 --> 01:59:32.840
the end of the command use a dot and press enter

01:59:42.580 --> 01:59:48.500
so doctor build hyphen t image 0 2 what anyone gave me a space dot and press

01:59:48.500 --> 01:59:54.940
enter and you see the build would happen in the back end

01:59:56.040 --> 01:59:57.740
so it is building the image

02:00:13.880 --> 02:00:15.520
yeah it's a done

02:00:37.140 --> 02:00:43.680
it's confirmed are you because the image okay fine thanks and the next step is

02:00:43.680 --> 02:00:47.100
we might have to open some ports in this checking to open a port let me

02:00:47.100 --> 02:00:52.700
log in once again log into Amazon I'm going to give access for the ports so

02:00:52.700 --> 02:00:57.440
this is what the background service is trying to go inside and you have all

02:00:57.440 --> 02:01:02.260
the VMs running in here okay so now let's see the traffic I just want to

02:01:02.460 --> 02:01:10.860
the traffic is being allowed for all the missions okay so it is one minute

02:01:10.860 --> 02:01:15.260
let me just modify the yeah my screen is not going to share let me share my

02:01:15.260 --> 02:01:19.660
complete screen yeah I think I'm going to enter screen the screen on visible

02:01:19.660 --> 02:01:24.300
okay okay so logging to this one I'm checking for a port to be given so

02:01:24.300 --> 02:01:28.800
that you can do the hands-on just trying to enable a port for you all

02:01:28.800 --> 02:01:29.620
just give me a minute

02:01:37.300 --> 02:01:44.300
I click on this your Amazon your work on Amazon so I'm trying to modify

02:01:44.300 --> 02:01:48.660
security group so that it can afford 80 just trying to modify so that you

02:01:48.660 --> 02:01:54.380
can all do the output okay I'm trying to open all ports so that we can

02:01:54.380 --> 02:02:00.020
quickly do the hands-on making all traffic can make it all traffic okay

02:02:00.020 --> 02:02:14.460
let me add a rule for SSH this is 22 and we add one more rule for HTTP which

02:02:14.460 --> 02:02:21.040
is port 80 okay I'm not able to do it I think I have to modify the break

02:02:21.040 --> 02:02:25.860
into the backend so so now I do it right now post I'll show you how to

02:02:25.860 --> 02:02:31.680
modify this offline so are you able to create an image till now everyone the

02:02:31.680 --> 02:02:35.540
image is created next yeah the next step is I'm trying to expose it

02:02:35.540 --> 02:02:41.160
outside world port 80 and we're not able to see because the port is blocked

02:02:42.160 --> 02:02:47.820
yeah so on port 80 so what you can do is right now you can do a curl

02:02:51.080 --> 02:02:53.880
so do a curl the public IP

02:02:57.300 --> 02:03:10.380
so do a curl the public IP in a browser so curl and the IP address 18 139 and

02:03:13.080 --> 02:03:20.260
250 dot 99 and this must give you the page so the port is blocked in the

02:03:20.260 --> 02:03:24.020
break I'll let you know I'll enable the port you must be able to see the

02:03:24.740 --> 02:03:29.680
understanding the lab is go to this location and gives the content what is

02:03:29.680 --> 02:03:36.160
there inside this as a website so a simple example about how you can create

02:03:36.160 --> 02:03:42.860
a container and how you exposing the container to outside world this port is

02:03:42.860 --> 02:03:47.040
blocked right now in the break I'll work with the backend team and have

02:03:47.040 --> 02:03:51.280
the port to be enabled and you will be able to see your website we clear

02:03:51.280 --> 02:03:56.020
a small example about how we can get a own Docker file and you can create and

02:03:56.020 --> 02:04:02.900
see the contents of the website yes no okay are you all able to do till here

02:04:02.900 --> 02:04:07.520
everyone this step the last will not work I'll explore in the break I'll

02:04:07.520 --> 02:04:15.420
have it done any questions any questions Jean Charles and others

02:04:15.420 --> 02:04:21.360
are we good so we'll take a break now and after break I'll ensure that the

02:04:21.360 --> 02:04:27.340
port enable you also see the output in the browser so great for you till 1

02:04:28.320 --> 02:04:35.800
15 p.m. look or you want to come early okay till 1 15 p.m. thank you

02:04:43.980 --> 02:04:44.500
you

02:04:44.500 --> 02:04:51.460
now you have done it hi sir hi sir but we have to modify the ports we have

02:04:51.460 --> 02:04:57.960
very severe access no when I go to a modest equity group is our policy I

02:04:57.960 --> 02:05:01.860
cannot do it I can't even one more so let us make it all traffic easier

02:05:03.300 --> 02:05:08.280
so my because these people are not very good in the Linux okay everything so

02:05:08.280 --> 02:05:12.280
very difficult for them to allow even one port also so okay if you can

02:05:12.280 --> 02:05:15.960
modify wherein security group with all traffic it will be helpful for me to

02:05:15.960 --> 02:05:21.960
install everything yeah thank you I'll wait for you then a break now yeah

02:05:35.860 --> 02:05:37.260
you

02:05:59.500 --> 02:06:01.840
it's not

02:06:11.440 --> 02:06:26.260
Hi, I'm back, everyone confirm as you're back from break, yeah you can use group chat,

02:06:27.760 --> 02:06:28.020
good.

02:06:29.660 --> 02:06:35.820
Okay, so in the break, what happened was I informed the back end team update the rules

02:06:35.820 --> 02:06:38.220
break and inform the team to update the rules.

02:06:39.080 --> 02:06:41.080
So they were added all traffic.

02:06:41.440 --> 02:06:43.560
It means all ports are allowed right now.

02:06:44.360 --> 02:06:51.780
Now when you try to access the public IP of you mentioned the browser, so you can

02:06:51.780 --> 02:07:01.280
say HTTP and paste the public IP in the browser, you will be able to see this, please confirm

02:07:01.280 --> 02:07:06.440
this confirmed able to see this in the browser and you can also do a curl.

02:07:07.380 --> 02:07:12.520
And you will be able to see that website coming in the contents in your local machine

02:07:13.220 --> 02:07:13.660
also.

02:07:14.720 --> 02:07:19.720
I'm sure but in the browser you can see that could all confirm please let me see

02:07:19.720 --> 02:07:21.860
browser screens at your end.

02:07:49.840 --> 02:07:55.680
Yeah, do a curl, HTTP colon double slash and the public IP in your terminal.

02:07:56.800 --> 02:08:00.640
You will be able to see this could you all show me this output let's see.

02:08:01.280 --> 02:08:09.540
Do this curl HTTP colon double slash and the public IP of your VM, yeah good.

02:08:12.380 --> 02:08:18.580
Charles, now curl type in curl type curl once more please space HTTP.

02:08:20.460 --> 02:08:21.280
HTTP.

02:08:22.140 --> 02:08:25.180
Colon double slash yeah now IP.

02:08:26.580 --> 02:08:29.140
Type in IP 13213.

02:08:31.260 --> 02:08:31.980
Is the IP right?

02:08:32.300 --> 02:08:33.540
Please confirm and type it.

02:08:38.860 --> 02:08:40.180
Now something is wrong.

02:08:40.680 --> 02:08:42.440
You have come out a server.

02:08:42.440 --> 02:08:45.920
Charles, login to your server first.

02:08:49.220 --> 02:08:49.700
SSH.

02:08:49.940 --> 02:08:52.860
Do the location first, no, no, no, you have to do the location first, it can be simple.

02:08:54.520 --> 02:08:58.960
CD forward slash CD space forward slash home, go to the path, go to the path.

02:08:59.060 --> 02:09:01.140
Please login to the server into the channel, the spelling is wrong.

02:09:01.200 --> 02:09:01.900
It's home.

02:09:02.960 --> 02:09:09.100
CD forward slash home slash student ID, CD forward slash home slash students.

02:09:10.360 --> 02:09:14.360
Do, you can do a single one, one second, one second, do a list, do a list.

02:09:15.880 --> 02:09:18.320
No, no, no, you're in the wrong path, Charles, please be in sync.

02:09:19.060 --> 02:09:23.060
Please do a list in this location, do a list, so you're still in the wrong location.

02:09:23.380 --> 02:09:34.140
So now what you do is home student, do a CD type in CD space VM, type in VM small and tap, tap enter.

02:09:34.140 --> 02:09:46.140
Now do SSH hyphen I, hyphen hyphen hyphen hyphen hyphen dash hyphen.

02:09:46.440 --> 02:09:56.580
Yes, I space now type in the key name, key dot PEM, key dot PEM, key dot PEM, Charles space.

02:09:57.940 --> 02:10:01.660
Ubuntu, Ubuntu spelling, U B U N T U.

02:10:05.280 --> 02:10:12.480
I'm not sure, team, ah, so Charles, you have to be in sync, please, please understand the commands.

02:10:12.620 --> 02:10:14.880
This is your syntax, the spelling is wrong.

02:10:15.840 --> 02:10:18.800
U B U N T U.

02:10:19.080 --> 02:10:20.820
B for boy, Ubuntu.

02:10:20.820 --> 02:10:21.660
Add.

02:10:27.560 --> 02:10:32.540
Now, su su su su su su su, su then su.

02:10:33.040 --> 02:10:33.660
Space hyphen.

02:10:34.180 --> 02:10:40.440
Yeah, space one space and hyphen, hyphen, enter.

02:10:42.340 --> 02:10:43.680
Yeah, now do the curl command.

02:10:44.800 --> 02:10:53.220
Herl HTTP colon double slash and the public IP HTTP double slash and so it means that something

02:10:53.220 --> 02:11:02.340
is not done properly what is done can you go to do a ls do a list yes where is the go to project

02:11:02.340 --> 02:11:13.660
one put a cd go inside it do a clear seven clear please go inside the project cd project

02:11:13.660 --> 02:11:19.680
one enter dwellers yes do a docker space images did you do the hands-on of the lab or no please

02:11:19.680 --> 02:11:24.480
let us know charles let us speak please i'm not sure did you run the commands of the lab

02:11:24.480 --> 02:11:29.820
yes or no please okay type in docker space images images docker space images

02:11:31.620 --> 02:11:41.140
type clear clear c l e a r i can't see it so now do a vi now once again docker build not

02:11:41.140 --> 02:11:56.020
in docker build docker build build bui ld build bui ld space hyphen t t for tango hyphen t space

02:11:57.540 --> 02:12:09.620
img 0 1 0 2 img 0 1 making any name okay just type in img yeah space space dot

02:12:11.140 --> 02:12:19.060
yeah enter this is me getting pulled wait yes now come down i've been clear okay now

02:12:20.820 --> 02:12:36.200
images enter now do a docker run hyphen d space hyphen p hyphen p space 80 80

02:12:36.840 --> 02:12:44.780
80 80 number number 80 80 colon 80 colon after 80 it's a colon no space shift and semicolon button

02:12:44.780 --> 02:13:02.060
colon 80 80 80 number 80 space engine x 0 1 no no no why are you giving space

02:13:02.060 --> 02:13:08.120
the names images we just created yeah enter right now do the curl command now use the

02:13:08.120 --> 02:13:18.840
apparel on the curl command again yeah curl http colon double slash the public ip type

02:13:18.840 --> 02:13:23.800
an ip affirmation is ip correct no can confront i give you three measurements locked in can you

02:13:23.800 --> 02:13:30.900
type in uh if config uh if config one second can you give the private type of 172 31 28

02:13:30.900 --> 02:13:47.960
35 one minute 172 31 which means uh 172 31 28 235 one minute 172 31 what is the private ip

02:13:48.660 --> 02:13:53.120
131 what do you see the left side just once it is 31 what do you see there 28

02:13:53.120 --> 02:14:00.760
235 13 213 49 12 okay in the right mission right mission you have done some errors

02:14:00.760 --> 02:14:04.960
checking what could be the reason i'm still just checking it here but it's not

02:14:13.800 --> 02:14:22.120
cat docker file cat cat cat cat cat cat cat space docker file d caps

02:14:23.960 --> 02:14:27.920
no no no only these capital this file name

02:14:35.280 --> 02:14:46.520
d capital d and press tab tab yes enter for this mission so can you copy the ip in the

02:14:46.520 --> 02:14:53.100
browser now once again for some reasons you see that it is not the port 80 is not going

02:14:53.640 --> 02:14:59.800
so something is wrong and not properly run run reff and hide it can be 80 80 equal to next

02:15:00.860 --> 02:15:09.200
zero one something is wrong let me just check i can be 8080

02:15:12.920 --> 02:15:13.600
one minute

02:15:27.280 --> 02:15:27.980
so

02:15:27.980 --> 02:15:30.440
engine x01 all good

02:15:32.900 --> 02:15:34.260
something is blocking

02:15:36.700 --> 02:15:44.240
so you have two images uh so do a docker psf na do a docker psf na i think i've got

02:15:44.240 --> 02:15:51.980
the back end let's see docker ps space hyphen a hyphen a so this is a mistake

02:15:51.980 --> 02:15:56.520
it's not created properly of the previous ones you see it's not getting started

02:15:57.400 --> 02:16:01.880
okay now do a docker starts to a docker start yeah first one the first container

02:16:01.880 --> 02:16:10.380
first container yeah double click yes just copy and paste that yes so this is the

02:16:10.380 --> 02:16:18.580
docker ps onto docker ps it's not starting something here does not serve some reasons

02:16:19.260 --> 02:16:24.780
docker start time it's bad it's not starting for some reasons so do a service

02:16:26.480 --> 02:16:37.020
service type is service no service service s e r v i c e service service c e space docker

02:16:38.680 --> 02:16:47.300
space start enter now again do a docker ps hyphen a now do a start do a docker start on the

02:16:47.300 --> 02:16:57.320
container id yeah do a ps docker ps it's not starting some thing okay uh i'm not sure so

02:16:57.320 --> 02:17:04.120
the some reason is because the contain is not getting started for some reasons uh i'm not

02:17:04.120 --> 02:17:11.340
started might be you did some mistakes for creating a container and this so let's do

02:17:11.340 --> 02:17:22.820
something so can you do a docker type in docker type in stop stop and use the dollar prompt no no

02:17:22.820 --> 02:17:29.500
don't do like this use the dollar prompt dollar shift and dollar dollar dollar prompt

02:17:29.500 --> 02:17:37.020
yes the open braces open the brackets open no no not this normal

02:17:38.700 --> 02:17:45.820
normal not this one other one the other one yeah docker ps docker space ps

02:17:47.020 --> 02:17:47.780
space

02:17:49.660 --> 02:17:56.460
close the brackets close it enter yeah now

02:17:59.340 --> 02:18:07.300
use the apparel use apparel once the panel on your laptop apparel yeah instead of stop

02:18:09.500 --> 02:18:10.300
um

02:18:13.140 --> 02:18:21.340
rm and inside go inside and instead of ps use ps space hyphen a he let the ps be there one

02:18:21.340 --> 02:18:30.340
space and after ps one space and hyphen a space hyphen yeah hyphen a yeah enter now

02:18:31.900 --> 02:18:38.580
now now control c to remove the containers do a clear now create a container now docker run

02:18:38.580 --> 02:18:48.660
hyphen d docker run hyphen d hyphen p hyphen p 80 space 80 colon 80 number 80

02:18:51.230 --> 02:19:03.090
colon 80 space engine x 0 1 yeah enter now docker ps let's see this is the start

02:19:04.230 --> 02:19:08.510
okay okay i'm not sure for some reasons you're continuing on setting started

02:19:09.330 --> 02:19:17.610
so something can you open docker file again something i'm missed then no cat do a cat

02:19:17.610 --> 02:19:31.850
to docker file okay or can do history please do a history type in history enter okay okay

02:19:31.850 --> 02:19:39.610
okay come down yeah so control prompt control c to clear okay uh so try to do a docker ps

02:19:39.760 --> 02:19:48.240
hyphen a docker space ps hyphen a now start it for some reasons not been started might be

02:19:48.240 --> 02:19:56.040
your servers or something uh problem i feel so docker uh start the container id

02:19:56.800 --> 02:20:04.440
so do docker ps docker space ps okay last last try uh service uh docker restart service

02:20:04.440 --> 02:20:06.920
docker restart space restart

02:20:09.520 --> 02:20:17.560
docker start command start and the container id enter yeah do a docker ps okay uh see uh

02:20:17.560 --> 02:20:24.760
charles what i understand this some configurations has got a problem so what i can do is i have to

02:20:24.760 --> 02:20:35.640
remove so do a apt remove apt apt apt apt apt apt space remove docker docker.io yeah

02:20:36.700 --> 02:20:42.860
docker.io enter some content choose yes why again do a apt space install docker.io

02:20:42.860 --> 02:20:43.680
something has gone

02:20:49.620 --> 02:20:56.460
okay typing here nothing with a prompt yeah do use the apparel now and again create one more

02:20:56.460 --> 02:21:02.400
container do the docker run command 8080 run the same command use the apparels to go back

02:21:02.400 --> 02:21:09.820
to same previous commands please use apparels press the apparel just use the press yes yes

02:21:09.820 --> 02:21:16.020
apparel once more once more once more once more once more once more once more once more

02:21:16.020 --> 02:21:22.820
yeah yes no no yes press enter so run the next command for starting your container

02:21:23.340 --> 02:21:27.240
once again can you run the command which is in the chat yeah run now run the previous

02:21:27.240 --> 02:21:31.760
command docker run command again you can use the apparel and run it why you missed use the

02:21:31.760 --> 02:21:36.960
apparel and run the same command which used before yes enter yes now do a docker space ps

02:21:36.960 --> 02:21:42.980
okay i'm not sure there is something that's happened uh might be uh second machine and do

02:21:42.980 --> 02:21:50.220
the steps from the first yeah yeah yeah the vm2 i've given you okay so apparently i'm going

02:21:50.220 --> 02:21:53.980
to talk about the backend something is wrong this vm something let me check figure out

02:21:53.980 --> 02:22:03.200
the break yeah so can you do it offline i'm going to stop sharing yes yeah you can

02:22:03.800 --> 02:22:07.520
okay let me take your control you don't see your screen now can you all see my screen now

02:22:13.780 --> 02:22:14.180
okay

02:22:14.180 --> 02:22:17.380
others are able to run this did you all get the output of public app in the browser

02:22:17.380 --> 02:22:21.220
did you all get the open to page in the browser please confirm the chat please sorry

02:22:21.220 --> 02:22:28.560
is it your screen gene correct so do a curl type in curl curl no curl curl

02:22:29.480 --> 02:22:40.240
so you rl hdp colon double slash yeah and public IP public IP yeah no in the one which is this

02:22:40.240 --> 02:22:46.140
machine public IP this machine we need to log in we have a local host enter yeah it's coming

02:22:46.140 --> 02:22:50.800
so it is your public IP means the machine the local host in which your machine install

02:22:50.800 --> 02:22:55.440
we're talking about that public IP clear okay yeah so i think

02:22:58.420 --> 02:23:04.800
good now to proceed now next uh is your lab in which you're able to create the image and

02:23:04.800 --> 02:23:09.540
you can go and make changes required to the location in this location you can go and make

02:23:09.540 --> 02:23:16.480
changes let me do this please observe so now i have a container for example

02:23:16.510 --> 02:23:26.550
okay i'll go into the container talker exec hyphen it this is my container

02:23:30.530 --> 02:23:49.530
copy and paste in this

02:23:49.530 --> 02:24:01.850
go full or more and then i say bash so now i go the location var www html yes

02:24:03.130 --> 02:24:08.250
and inside this you have a file so i would say apt update for example i want to install

02:24:08.250 --> 02:24:16.070
vim editor i'm just trying to play around so i'm going to say install vim editor

02:24:17.390 --> 02:24:21.330
so what the contents were there in the index files are going to come up i'm trying to modify

02:24:21.330 --> 02:24:23.170
my own custom

02:24:26.610 --> 02:24:34.450
and so the vim editor and now i'll say vim index dot html now in this file now i'll go

02:24:34.450 --> 02:24:42.770
down this is my body the background all the colors so now i want to modify some contents

02:24:42.770 --> 02:24:47.810
into it is your apache page see that this is heading which are getting it so the contents

02:24:47.810 --> 02:24:53.370
are coming from this page so i'm going to modify this to some other context just say

02:24:53.370 --> 02:25:08.390
test yeah and i'm going to save this file so i'm talking about line number which i'm updating

02:25:09.030 --> 02:25:17.170
okay in here and i save this file

02:25:19.830 --> 02:25:20.710
able to

02:25:33.830 --> 02:25:35.170
let's get this