Docker and Kubernetes Training Course


language: EN

                  WEBVTT
Now let me check for CK.
CK, you're good?
Yes, I think we're good.
If you log in, any questions?
So what about Charles?
The font size of mine, is that?
OK.
So what you can do is, once you log in, for example,
click on the Open to.
So in OpenNet, you have an option in which you can.
So could you right click on the top in the white plane?
And you could go into this.
And you can say to resize.
This is one option.
Or you can go to Edit.
Go to Edit.
And under Edit, you can go to Preferences.
And under Preferences, you have Appearance,
in which you can make the size bigger size.
So you might have to.
You see a 12?
So make it, for example, bigger size 14 or size.
You can modify the numbers in here.
Clear?
Yes, yes, yes.
OK, OK.
Fine.
Yes, I think we're good.
We'll just wait for one more minute for Charles to confirm.
So please have this information, what I gave it to you.
At your end, save this information.
We're going to use the same VMs for the next three days.
Any questions?
Are we good?
OK.
Now let us start now.
So what I'm going to learn in this training,
we download the contents of the slides and the lab guides
from this link now.
So please access this link in the browser
and download the contents.
Once you download it, extract it.
And you can forward it in the contents.
Please confirm once you see the contents.
I see K, Gene, June, and Charles.
Please confirm.
I have to get a link in the chat.
No problem.
Access this in the browser.
It is a zip file.
Once it gets downloaded, please unzip it.
So in here, you'll be having a folder for containers
and documents.
We also have for Kubernetes.
And if you want to access the presentation,
you might want to double click on it.
It opens up.
At your end, please click on Read 1D.
You don't have password.
It is detected password.
So click on Read 1D.
And you'll be able to see the contents of the presentation.
And we also have in Documents, Use Cases,
last confirmed.
We're good.
The chat, please.
Others request to confirm in the chat, please,
so that we can proceed.
So to get started, you have the VM details.
You have the content.
And you also have access to login to the desktop.
So these are the prerequisites for you to get started.
First of all, what I'm going to learn in this,
you first learn about what is Docker, what are containers.
So this is your document.
So this is a three-day training in which you're
going to talk about containers, Dockers, how
to work with Docker images, how to create your containers,
and how do you manage your containers using Kubernetes.
You also learn about how to install and configure
Kubernetes.
How do we work with namespaces and pods,
cluster management.
And we'll end up by learning about six three-day topics,
security, and how do we monitor your cluster.
So these are the different topics.
So based on this, we have all the modules for each of them.
Example, these are the 0PPT, which
has all the contents of Kubernetes.
So let's get started now.
First one, do we all work on virtual machines
in your office and our projects?
You work on virtual machines?
Yes.
We also want to understand, do you
work on containers right now in your projects?
Do you work on containers?
OK.
But on VM, everyone, this batch?
Now let's first understand, why are we talking about containers?
Why containers?
What do we answer?
Why do you think enterprises are moving from VMs to containers?
Learn about this first.
Now let's consider that you want to create an application.
You're a developer, and you want to work on application.
You want to work on application.
Could be Apache.
Are we aware of this application?
Apache?
Listing?
So you want to write a code or you
want to work on the application.
So in case if you use a VM, you log into the VM,
then you install the application.
In Linux, for example, you would say, install HTTP.
And then you start the service.
You say, service start.
And later, you need to configure this file.
So in a VM, if you want to have the application,
you're supposed to do all these steps, install servers
and configurities.
So this takes in lots of time and effort.
We are talking about, can we make it much more better?
In which, do we have all these in a ready image?
Are you getting it, everyone?
In a VM?
So instead of this, can we have a ready image
in which you have all these available?
So we're talking something like this.
I want to go reverse so that you understand
what we're talking about.
So we're talking about the images.
Something like this, which already has all the contents
of the application.
So the image has very minimal OS.
It has in-ground variables, libraries, binaries,
all the information for the applications
that are already available.
So I get a copy of this image.
And I will make this runnable.
That is container.
So in a VM, we go and do all this work.
We do not do it because the image from which
you're going to create a container only has that.
That is what's the container, which you're trying to learn.
Are we clear?
I just want to give an overview about why
we talk more containers.
So containers are application-ready.
So containers are application-ready.
It has all the files which is required for to run.
Second one, in VMs, for example, this is a VM.
The VM takes more space for the guest force.
For example, in a Windows VM, it takes so much space.
And then application and data are on top of it.
So you are spending so much of storage.
And hence, also the cost.
Could be a license cost, storage cost.
And when you stop and start a VM,
it takes longer time to shut down the services
and then again start.
Slow, start, and stop.
You have to regularly upgrade and update OS.
And also, if the application is created on, for example,
like Windows 2022, for example, the same application
might not work on Windows 2023.
It may not work.
So this is not portable.
All these were challenges of a VM.
So in containers, the technology is all to avoid.
Can we skip the guestovers?
The containers, for example, it would have in the application.
And it would have in the binary.
It will have in the library.
It looks something like this.
It doesn't contain the guestovers.
This is what we're talking about.
Are we good?
Are getting the use cases wide enough for containers?
Any questions?
Yes, you're right.
The resources are lesser containers.
Now, one more.
So this is how we can start.
Now, let's look into the slides to understand all of this.
And before I get also one more term, what is monolithic
and what is microservice?
We need to understand the terms of monolithic and microservices.
And I'll just give a small example.
Now, let's consider that there is a website like Amazon.com.
It needs to be designed by developers.
So this has to be designed by developers.
So what they do is, in monolithic,
you would be having all services.
That is, they create a frontend page on a web server,
the login we're talking about.
And they also configure the application,
so let's consider that shopping website,
.co.uk or shopping of Amazon application,
in which they can choose a catalog of items.
And then once they add to cart, shopping website,
this is your DB.
So when you are talking about Amazon shopping website,
so frontend with a login, then they
can start choosing the items, what they want,
and then they add to the cart.
And this is making the complete application
of all these three services.
In this, service one, this is service two, and service three.
So even if one of the services has some problem,
example, tomorrow you update the service,
it might affect the entire application.
So all these are not good.
We want it to be loosely coupled.
That is called microservices, in which
we could have in the frontend of a web server,
so your login page, and your application, and your database.
These are not tightly coupled.
These are loosely coupled.
So these are called microservices.
Why are you talking about in here?
Containers follow microservices.
It means one container would be having only one application
or one service inside it.
So the conclusion is containers follow microservice
architecture.
It means one container would be having one application
or one service inside it.
That'd be good.
So you need to know these before we get started.
So now getting on to the slides.
So we'll talk about containers, docker, docker file,
docker compose, how these two networks network in Docker,
and how do you manage multiple missions of Docker
using orchestration.
So we talked about monolithic.
So one of the challenges is they are tightly coupled.
So what exactly?
So before containers came in, the challenges
we'll talk about now.
So you can think about this portion
that we're working on with developers.
And this is for operations.
So in any bigger companies, we have developers and operations
team working together.
Now the use cases we have in an application,
could be considered that abc.com.
They want to create the application or a website.
And this website has to run on multiple platforms.
Could be on x86, could be on x64, could be on ARM platform.
So enterprises, we work on multiple platforms.
Or think about WhatsApp.
So WhatsApp you might want to use on your mobile.
You might it on your laptop.
You might want a Windows lab mobile.
Could be on iOS mobile.
So talking different platforms.
So when you write in any code, or any code,
the code always runs on a specific platform.
Can the same code run on all the platforms?
Before continuous document, in general right now,
can we use the same code?
Would the code run on all the platforms?
Yes or no?
What do you think?
We have a code.
Would the same code run on the same on this, and this,
and this?
It is no correct.
It will not work on all of them.
So developers have to rewrite the code
to run on every platform.
Yeah?
Same for database.
What do you create?
The developers?
Or could be a front end or a back end applications.
We have to recreate the code.
And it's just not writing the code.
After you write in the code, you have to test the code.
Test the code.
Then you have to do a release.
Using your Jenkins, for example, lots of work
is required so that the code or the application
could be used.
So this process is lengthy.
So developer did a work wherein wrote the code on x86,
but the operation team wanted to release the same
on multiple platforms.
When it works on this, it's in now.
It works on this, but not on these platforms.
They agreed to the operation.
They'll again go back to the developer.
And developer has to recreate the code
so that it works on the other platform.
So talking of combinations about how
we can have in a single code run on different, different
platforms.
At the same time, the card, we talk about analogy.
The containers were coming from a shipping company.
I'm sure that we have a big harbor in Singapore.
So before, if they wanted to ship this to customer,
they have to use a fragile packing.
If they want to ship this, this oil,
they have to use an oil proof packing.
The shipping company, they had a challenge
that they had to procure new type of packing
and to ship to the customer.
It's not just the packing.
And again, once from the harbor, they have to again unpack it,
unpack, and again pack it to a format which
could be shipped to the customer.
This was the challenge.
So they had questions about, can we improve a better packing
format to ship these to the customer?
This is where they came with the standard box size,
which is called as a container.
So any of these workloads be shipped into this,
put into it, and it's quite robust.
Anyone could go and break it.
It's quite robust.
And the same box could be used for shipping from the harbor
to a train or to a truck and reach the customer's location.
So this is a box which can take any type of workload.
And it could be shipped to the customers
on different platforms.
So we're talking about, can you think about right now
that this is your application?
I'm talking about a platform.
So can we start packaging your applications
in application container format so that it
runs on multiple platforms?
And if you want to manage containers,
you require a platform.
Like, for example, for VMs to manage,
we use VMware, for example.
That is to start or stop, create VMs.
We'd have a platform.
We use Hyper-V. We use Citrix.
So similarly, if you want to manage containers,
to create containers, stop, and you require a platform.
And the word Docker came from a shipping company.
So this is, we call it as Docker React.
And all these are containers.
And also, who helps to unload it is called as a Docker guy.
So the word Docker came in from this word.
So Docker is a platform to manage containers.
So this question marks where you place with containers.
Yes.
Are we good, everyone?
We just say yes to chat.
I know that we don't speak much.
Just say yes to chat so that we can proceed.
OK.
Everyone?
Charles, and then Eugene.
How's the speed?
Is my speed good?
Or am I fast or slow?
We're good.
All right.
Yeah, just want to confirm because working
with a different culture.
Yeah, I think we're good.
Yeah.
So now, this is your container.
So you see this diagram?
This is the symbol of Docker.
So Docker is also referred as Docker Engine.
And you're managing containers.
So Docker Engine, this can manage any type of payload.
Payload means any type of workloads.
It could be application, or it could be a database.
It could be your analytics application, whatever it is.
So how does it work with a collaboration?
Now, we have a DevOps team.
So we have a DevOps team.
And this DevOps team wants to release an application,
like a website, for example.
So in Docker, we have a default registry called as Docker Hub.
We'll talk about the details.
I just want to give you an idea.
Here, Docker Hub is a default registry.
What we use GitHub, we use Docker Hub
for the container images.
So now, your SME, like a Scrum Master,
they've created a repository in the Docker.
And DevOps team, developer, tester, all these people
we have.
So everyone in the environment would install Docker.
Developer install Docker.
A tester install Docker.
And Docker and all of them would deploy.
So first, the developer will pull the image.
He would say the command, or on the command,
Docker pull the image.
This is Apache image.
This is the image which I showed you,
which has all the libraries, binaries, the application.
And this image get downloaded.
But this image is a read-only image.
You cannot log into it.
So you need a running copy of this.
So then, the developer would say,
I want to run a copy of it, which is runnable.
So I'll say Docker 1, the background,
hyper-t, dash mode, and give the image name.
This will create a container.
And the user can log into the container
by using Docker commands, Docker exec, hyphen IT,
intracted terminal, and then the container name, or the ID,
and the shell, like bash.
And now, the user can see all the application file
and can start working in.
So once it is done, he'll again commit to an image
and push this image to the repository.
Now, the tester who wanted to test it
would download this image from in here.
And from that, they would create a container.
So pull it, get a container.
Same.
Then create it again.
Like this, manual work.
Or in your DevOps, you can use CI CD.
So this is how, in your Docker and container world,
a very simple example about how different teams can
collaborate with each other and can quickly
release applications.
Yes, I'm getting a picture about how
we work with Docker and containers.
Any questions?
Let it proceed.
Now, the work of developers reduce.
And if a development team is not making much changes,
the operations team work is reduced.
Because if everything is working the same,
then operations team is much lesser because no changes.
Again, no need to check everything on the line.
So do once, run anywhere.
It means does not run anywhere.
We're talking about more platforms.
Same code once.
Docker is supporting all the cloud platforms.
Could be on Amazon, could be on these.
Example, we can deploy it on EC2 in Amazon, for example,
which is IAS platform.
It's an infrastructure service.
We can also deploy containers on a platform services.
Like we have ECS for containers and EKS for equipments.
So these are platform as a service
which you need not manage the VMs yourself.
So that actually can go ahead and create containers or ports
on top of this.
Google Cloud, we can either use a VM or we have a service
called GKE.
And in Azure, we can either use again a VM
or we can use ACS or AKS.
These both are platform service.
Is it IAS service?
So Docker is supported all the cloud platforms.
You can pause me any time in between in case
if you have a question.
How does a container look?
So this is your physical server.
And on physical server, we are having Post OS,
preferably Linux.
And then you install Docker software.
And using Docker, you manage containers.
You see these are the containers 1, 2, 3, 4, 5, 6.
And each of them have only one application.
It means they're following microservice architecture.
And they don't have guestovers.
So they are lightweight because no guestovers.
They're standalone because they have only one server.
It will package.
It means it has everything which is required for it to run.
It is there, including the code, runtime, tools, libraries,
and settings.
And this could be run on any platform quite easily.
So it looks something like this, the backend.
If this is your VM, for example, the same in here,
containers work directly on the Linux kernel.
This is the Linux OS kernel.
So in containers, Linux, we have properties
like namespaces, cgroups, and slinx.
The same in here.
Now these properties are used by containers.
So what are namespaces?
So namespaces in Linux ensures that each processes
are separated.
So similarly, containers also get separated
because they are part of a namespace.
This is not the same as Kubernetes.
They're different.
So namespaces ensure that these are isolated.
And cgroups provide resources like CPU, RAM, storage,
network.
Whenever they need, they take it from in here.
Online NaviMs.
NaviMs assign the resources before itself.
So it is more of a dynamic allocation
in your containers, which is much better
because you are saving on resources.
If you stop or delete it, it'll again pull back the resources
back to the host OS.
And slinx is for advanced security.
So these are the important things.
In the backend, we use namespaces.
And these are some specific namespaces in Linux.
And cgroups helps you to manage CPU memory.
So either it will take in the CPU what is required,
or it can also mention how much of CPU memory
you require for every container it can take in the resources.
And once you create containers, so containers are like processes.
So every container would have a process ID.
So example, if you get a container,
it'll have a process ID.
And once you go into the process ID,
you will have a namespace folder.
And inside that, once you do a ls,
you can see different processes compared
for different containers.
So cgroups and the user will be common.
But all these will be different for different containers.
So this is how we can validate that containers
are safe for production because customers would ask you,
how are the containers getting isolated
if they run on the same mission?
So there must be some technology in the back end.
So namespace property of Linux kernel
ensures that these are separated.
These are secure.
And hence, containers are good to work on production
workloads, namespaces.
So containers are lightweight because, you see,
they don't have guestovers.
They're faster because they don't have guestovers.
They're portable because they don't have guestovers.
They still use the host OS, but they use the host OS
rather than the guest OS.
For example, in a VM, you need to have a guest OS.
The VMs require a hypervisor.
So hypervisor software, like VMWare ESXi,
or could be Hyper-V, which we deployed on the physical
service directly on a bare metal.
And then you create a VMs.
And then deploy application.
Now you can see that we have ready applications.
It doesn't require a hypervisor, not a mandy.
But there is a challenge in this.
For example, if this physical server goes down,
users cannot log in the application.
So what we can do is you start installing Docker, the VMs.
Same mission, your three VMs, install Docker on these,
and create your containers.
So you can create application container app here, like this.
So the user is trying to access the application
through a load balancer.
And for some reasons, this mission is not done.
The user request goes to the other missions.
So it is much more easier for managing containers
if you use the VMs for failover or for resource allocation
for all these things.
So it's a good practice to use containers, VMs, and cloud
together so that the management becomes quite easy.
So containers summarize containers as smaller.
They are faster and very easy to integrate compared
to virtual machines.
Simple use case.
The team wants to release an application on JBoss.
JBoss, an application.
They were using different platforms.
So the use case for operation is it
has to run on multiple platforms.
There is a code.
There's the code.
I'll be pushing it to GitHub.
Now, they tested.
It works on this, but not on these.
It does not work on these platforms.
So again, you have to go back.
And then it works.
But this is achievable, but takes more time.
And you're talking about the DevOps world in these days,
wherein you want to do all the work quite efficiently.
DevOps is all about quicker, efficient resources.
All they're talking about.
It's not a good use case.
So they can start using Docker Hub.
All of them will be pushing and pulling in from a Docker Hub,
a common registry or repository, and they
can do the work quickly.
The reason containers and Dockers
are used across all the cycles of DevOps.
It's not just for deployment.
We use it for rebuild tools.
We can use it for your Jenkins.
We can use it for your testing tools.
We use Dockers and containers across all the pieces
of DevOps.
And it's probably good.
Have a good.
OK.
OK.
Now, where do you find information?
So lots of information about this.
I've given you that in the important links.
So if we access your worker and Dockers,
you have all the links that are coming in here.
The labs and use cases.
So where do we use these containers?
So containers are used across lots of applications.
And these, so many companies, they use these.
And this document is one.
So there are different technologies for containers.
Verantis, Kubernetes, Portman.
You have in some cloud management-based containers.
And how do we share it?
We use registries in which you have the images.
And if you have multiple containers to be managed,
we use orchestration.
The Kubernetes, Dockers, and
So in case you're looking for a quicker deployment,
containers is the answer.
If you're talking about to have a standard software
run on multiple platforms, then talk more containers.
Can you scale up?
Yes, you can use the scale up environments.
One more use case also we have for data warehouse.
This company, they're using outdated infrastructure
before, and they were not able to release applications
quickly.
And they wanted to have a better release management.
So what they did, so they started moving on to containers
to the company.
They want to move from VM to containers.
And this is that one.
The ecosystem that we have implemented Docker
works seamlessly regardless of whether developers
are permanent employees in here.
One more, they were able to release the application
very quickly to production.
And developers were happy because their workers
were used compared to what they were doing before.
And they can test it on their own laptops
and work in any environment to continue
to encapsulate dependencies.
So they don't have to wait as time setting up.
All these advantage what they got.
Customers were happy.
Developers were happy.
Team was happy.
They were able to get good revenue,
so talking cost, time, and efficiency.
All these are very good information
about Docker's insert for Docker container, for example.
We talked about what is a Docker container.
So containers definition is this.
Package software into standardized unit
for development, shipment, and deployment.
It means one standard using which I can start quickly
releasing it.
It's a lightweight standalone.
And the images become continuous over time.
The standard, because the same format, the same code
to run multiple platforms.
Lightweight, because they don't consist of guestovers.
They're secure because of the namespace property.
And containers, not just for Linux, but also for Windows.
But it doesn't support Windows properly.
But to an extent, support is not very easy
to support on Windows.
It is for Windows, it is for Linux, for a Mac.
Could be hybrid, serverless, or everywhere
we can use containers.
And every company are moving from VMs to containers
because of benefits what they provide for customers,
as well as for internal people for creating the code.
And you want to use them to get to the containers.
We're talking about more in which we abstract the OS
in containers.
We're virtualizing the OS.
The VMs are virtualization talking about virtualizing
your device hardware.
And you want to use them together.
So containers, there are lots of methods
using which you can manage containers.
One is Docker.
We are talking about ContainerD.
So we have Docker, Rocket, ContainerD.
There are multiple platforms for managing containers.
So ContainerD is one of the latest platforms
for managing containers.
So if you want to install latest Kubernetes software,
you can also use just Docker and use ContainerD.
ContainerD is again, even invented by Docker.
So Docker was invented in 2013, and it evolved a lot.
Let's see now what is Docker.
So we'll put Docker.com.
So Docker helps you to create containers,
and you can run anywhere.
You can also play around on your laptop
by installing something called Docker Desktop.
So Docker Desktop could be installed on Windows,
or on Mac, or Linux.
Install it.
And you might have to give permissions for Intel VP
or virtualization to be enabled in your BIOS.
And if you have appropriate drivers,
you will be able to install it.
And you can play around with that sandbox.
So Dev and not for live, just for test.
Which you create containers.
You can log into it, play around with the images, GUI,
all this you can get.
But this is just for testing, we use this.
It looks something like this.
So in Docker, we have free and we have paid.
We have different pricing models.
So if you are starting new, you can go for a free model.
It's called a Docker Personal, which is zero cost.
So what I'm saying here is, if you want to manage the images
and containers in a shared repository like this,
for this you have to buy licenses.
So if you have zero, no cost,
you can create a few public repositories.
You don't get much options.
You get only a GUI.
You go for a pro, you get more.
You get GUI options, Docker team, Docker business,
all these are plans.
And each of them come with a different,
this is zero cost, one user.
This is payable, Docker engine, container,
you get command line in your free,
you don't get GUI option.
When you're Docker desktop, you get it.
And these are features.
So looking for all the features,
then you want to go for Docker business
or looking for other options,
you have Docker team, Docker pro, Docker personal,
any of these subscriptions you can buy.
This is how we buy the Docker subscription.
So you also get access to run in your vulnerability checks
or integrate with security incidents.
You also get option to go for continuous integration
and build all those would have automatically
to go for the paid office deals.
Now coming back in here,
so Docker is a platform using which you can manage containers.
So you have free editions or paid editions,
which is observed, personal,
or you can go for a pro or team here.
So in this you get unlimited public repositories.
So you can create only one private registry,
public repository.
You get access to Docker desktop
and you get one ECLI, no GUI.
In this unlimited private repository,
you also get a GUI in this apart from CLI.
So in this, you can have multiple users to be used,
more users.
And this is gives you like as a single sign on,
for example, even if you do not have an account
in Docker Hub, you can log in from your office account
and be logged in.
And they provide you much more easier management
for buying and support the business as it work.
Okay, any questions?
This is Charles, Junwei, then Jean, okay.
Any questions, please?
I'm going to proceed.
And before I go to the next slide,
I'll talk about this slide.
Okay, much more easier for the next one back.
So now when you install Docker on your machine,
like on a VM, it had two components.
You have a client component and a daemon component.
So when you run any commands, like example,
you run a command like Docker pull the image name.
You're running as a client.
The request goes to the daemon,
the background process using a guest API.
And this daemon would help you to manage your VMs,
could be a storage, all those things in the background.
So this could be a client, either could be yourself
or it could be some other application.
And when you try to do this request goes to Docker daemon
and Docker daemon helps you to manage the patterns.
So Docker engine consists of both the components.
So if you install a VM,
it'll have both the client component and a daemon component.
And server background is called DockerD.
The company are using a list API
and we use Docker CLI commands to work with this.
And what you create in Docker is called as objects,
like containers, volumes, images, networks.
What do we create in Docker is called as Docker objects.
So how do these all work together?
So this is a diagram in which we talk about
the major components or a client component.
We're talking about daemon component and registry.
How does all this work?
Now, small use case.
Now let's consider that you're a developer
and you want to work on Nginx.
So Nginx is reverse proxy web server.
This is used for front end application.
It also support proxy load balancing other features.
So this one or Apache, all these are very similar.
This is still advanced for your web servers.
Now you want to work on this.
So you will first install Docker on your machine.
On your machine, you will install first Docker.
And then you would run a command Docker tool Nginx.
So you need to have appropriate privileges.
So this requires a pseudo access.
Because we work in Docker,
you make the changes in TCP ports.
And hence you'd have pseudo access.
So you would run a command Docker pull
the image name Nginx.
The request goes to Docker daemon.
Being a first time, so it will not have the image.
So request would go to the default registry,
if not the registry which you've configured.
It pulls the image and saves it in your local mesh
or the environment where you're working.
Now it is a read 1D image.
I cannot log into this.
So I'm still not ready to write in the code
in this application.
So I would say Docker 1 and the image name.
The request goes to Docker daemon.
So where does the image save?
So normally Linux will save under where lib docker.
So where lib docker is the root directory of Docker,
which will have volumes, overlay, all these.
You will go on search under this and the overlay,
it will have the image.
It'll understand and get a container.
Now I cannot just use one container
because if I delete it, I do something wrong.
It might make my container or up to not work.
So I want to create one more container.
So I use Docker 1 command, I run two times.
The create two of this.
Then I can log into the container.
Then I can log in saying that Docker exec,
an ID and the name on the shell.
I'll be logged in the container
and I can start working on my application.
So I can pull any images like this.
The process first will check in local message
or local environment or local mission.
If not, it goes to the registries.
And the default registry, what we use is Docker.
So in case you want to registry within your office,
for example, you can also registry on a VM,
on a cloud, a different registry.
Registry location where you store the images.
Now sometimes we cannot use the image
because these are not very specific to your organization.
You might want a custom.
For that, you create own image
and then you build the image.
For that, you use Docker build.
So you define the image contents
and then you build the image by using Docker build commands.
So Docker daemon, Docker client,
and we're talking about registries
is where you store the images.
In that, either you can get a public
or a private repository and participants
or talk to the developers or testers, everyone,
then do a Docker pull.
And then once they're in the work, they do a Docker push.
So that's sort of others can see the change.
If I go for engine next, for example,
click on the image.
And the image would look something like this.
So this is written by some developer, you see?
The file name is called Docker file.
So the image contains a file called a Docker file.
It would have lots of lines.
These are called as layers.
It's called layers.
And this is written in Go language.
And all these layers work together.
For example, you see from,
so it has a very minimal OS for running your application.
We're talking about who is the owner of this.
You can mention that I'm the author of this Docker file.
ENVs is in the variables.
Like I mentioned, the version,
you can mention the path of your Java,
the property for your Python.
And then you're running all your libraries
and binaries when you run commands.
So all these is part of the image.
We'll learn very specific parameters later.
This is what we're talking about.
And all these lines are called as the image.
What you observe right now is a read-one-day template.
And that has instructions for creating containers.
So it'll talk about using Docker file.
And each line talk about is instruction.
And they all work together to create for the image.
And from this image, we created running copy.
So even containers are an image.
Containers are not persistent.
Delete the container, you lose the data.
So you have to use a mapping storage
so the container's data is persistent.
I can create containers.
It's a Docker created grid, but it can start.
Or you can say Docker run, the image will create and start.
I can do a kill, I can do a pause.
Or I use all the Docker commands for doing operations.
I'm pausing here.
Any questions?
The Docker image, yeah.
But it is a compressed format.
When you download it, the size is very, very small.
It will be like only MBs.
It's only MBs, no GBs at all.
Very, very small.
So I compressed it, so it's quite small.
Okay, any other questions?
Let me proceed.
Now, how do we install?
We'll finish the installation topic
and then we can take a short quick break.
So for installing, we already have installed.
We'll learn about how to install all these.
You can sort on Windows.
So we separate software for Docker for Windows.
We separate software for Docker for Linux.
We separate software for Docker for Mac.
And all the OS must be a 64-bit.
Red Hat based, Red Hat based means
we're talking about could be Red Hat itself,
CentOS, Fedora, for all these things we use.
VM commands, RPMs all at once.
Here we use RPMs, we say VM install Docker, for example,
using a Linux server of Red Hat.
And then you can say service.
The service name is Docker.
And then you say start.
Using Debian based, Debian based,
we're talking about could be Ubuntu,
or Debian, could be a Mint, all these.
For these we use APT, or we can use apt-hidefactor.
These are the package manager.
And then you can say apt install docker.io.
So we can either use any of this for the use.
We're going to use Ubuntu.
So we're going to use commands like apt update
to update repositories.
And then we will say apt install docker.id.
It installs Docker.
Use for Mac, we can deploy it on Windows.
So Docker desktop, if you install it
on your local machine, for example,
you can do something like this.
So now you want to sign up with the Docker account.
Could you all access the website?
We'll learn about it and then we do a hands-on.
So please access this website, HTTPS, and the link,
and sign up for this account.
Create a personal free account and form once you're done.
This website, click on sign up.
Go with your email ID.
And you might want to check your email.
You want to click on the link, activation link,
and you will be able to log in and get a free account.
Please type in manually.
If it continues, you can do it,
but later you might have an,
I'll say that create a personal account manually
instead of using a Google or GitHub.
If you want, you can use it.
It's up to you.
Good, okay.
So now once you're logged in, click on sign in.
Click on and then get a pop-up.
In a screen like this.
Now please click on explore.
Click explore.
And under explore, you will see lots of images.
So all these are images.
And these images are again classified
into different categories.
So Docker official images,
it means that all the images you can docker official,
these are managed by Docker.
And any image would have image name like this.
It would have the details about the downloads,
the rating of it, the pulse.
So example, if you click on internet,
this came automatically when you're official.
You open it.
It will say that is official build.
And you want to use the image,
you want to use the command docker pull engines.
And there are different versions of index.
The latest one, then we have to use latest.
One other one, for example, you have to say docker pull,
the next colon and the image version number.
So image latest means this image docker update
very regularly and you can see the tendons.
Somewhere in the backend,
the images are stored in your version controller backend.
So these are the image looks in command.
You can also observe on which platform is supported.
Go down, they say that this supports on these platforms.
So this image supports on ANG64,
all these platforms on which you can identify.
And any official images would have details
about what is this image, the reverse proxy,
how to use the image, some examples.
They let you know which port, customize.
So you can learn a lot by when you see official images
of any images and you can play around.
Now back to screen.
Now Verified Publisher is third party company
and they have partnered with the docker.
What is this is open source images,
which is created by community of team,
might be CentOS, Fedora community,
they created some images.
Now let's consider that you want to see image of all the types.
What you can do, uncheck all the box
and then say example engine X, press enter.
And you will see official could be verified
all the images you see.
This is how we use to search the images.
This is a default registry, which we're talking about.
Now let's go back and talk about some theory part of this.
So we observe the images
and each image consists of multiple layers
and all these layers work together
to create your image or continue talking about.
And when you do a docker run
and I give the image,
that will make a runnable copy to the content.
So docker image consists of multiple layers
and all these are read-only images.
They get downloaded this.
This is a default two directory called a bare-lipped docker.
You can see volume and everything there.
Overlay is very specific for your images.
So example a VM or a server looks at something like this
and you have lots of images with that,
but you're in docker pool.
And each image would have an image ID.
It's very big, but now you see around 12 characters
or number, alphanumeric, and we can have a writable copy on it.
So docker images, you can go directly modify an image
like I said, you can modify the image,
but you need to get a running copy.
And the way how they work,
all the layers working together, that file system.
Like in Linux, we use ext4, GFS,
how they organize the file, the file system.
In container world, we talk about overlay file system,
which all the layers work together.
It's also called overlay file system,
layered file system.
So file system means how files are organized
internally in your OS.
Now in this directory, we can create
and then we can go to the histories
and we can see the properties.
You're all working on a project, for example,
the work team, your SME or a Scrum master
might create a repository where all of you get access.
So create a repository, there's a username,
then we give a report name and the date.
For free account, you have only one private or use it,
but you get multiple public.
So I create public repository, for example,
this will get created.
So all the devops team members,
they get access to this repository
and each of them can start pushing their container changes
as an image format to this repository.
So example, it will look something like this
once everyone pushes into this.
This is my example of how I have an image repository.
So someone has pushed 14 years back
and you wanna see the image contents,
you can either click on it or you can go to text tab,
you can click on the digest to see some information
about what it has.
And if you wanna get the complete information of this,
you can call the container, you can also do a Docker pull,
pull the image and then from that you create a container.
And when you go for a paid versions,
you can go to build and integrate with your GitHub.
You wanna give access to others account,
you add them and collaborators.
And if you want to do some automation, for example,
if something happens in this,
if some image comes in here, you can say to create image,
you can do some automation for building tests
like Jenkins V or CI CD.
And the settings, you can make lots of changes,
the scanning changes, other settings you can do it.
So with every repository,
you can go ahead and make those changes.
So this is how you are contain registries with your container.
So registries, public or a private,
either you can use Docker Hub or you can use cloud-based,
you can use a PCR and you can automate
the process of release.
Example, you initialize with your GitHub and CI CD.
So do you all work on DevOps?
Do you work on DevOps?
So are you aware of CI CD?
What is CI CD?
Everyone, do you understand what is CI CD build?
Do we understand these terms?
Yes, I understand.
Do we know what is CI, what is continuous delivery?
What is CI?
Yes, yes, what exactly happens in this?
You're right.
What exactly happens in continuous integration process?
Let me talk about it in case.
So example, I'm a developer
and if I push the code to GitHub, for example,
I keep on writing code, push the code
and as soon as I push the code to GitHub,
it will do a delivery
and test the code immediately.
I'll give a notification or errors.
I can see those and understand
if my code is written properly.
Yeah, you write the code, you push the code
or make changes in your GitHub
and the build and test of the code happens immediately
and you can see the results
and now you think, okay, my code is good, it's working fine.
This is called as continuous integration.
Continuous delivery means it will release the application
quite quickly like pipelines.
The Docker Hub is where you can create registries,
webhook and all.
So now in Docker Hub,
either you can pull and push all existing images,
for example, you have a machine,
which containers, you can do a Docker
and then I can search the images in Docker Hub.
I can pull or run all these.
Or other method is you create your own image.
You write a file called vi-docker-file
and put all the contents of the image
and you save this file in GitHub
and then once you're done,
then you say Docker build command
and give a name for the image
and you build the image.
You test it and then you push it for others to use it.
We have a demo for all these labs we have.
So in brief, you can use the existing ones
or create own images
and then you can integrate automation
or the release and all these things using your CI CD
and then you can start using the cross.
Very brief, you can do a pull,
you can do a pull, build,
you create a container.
When the container is created,
you can commit the container to your image
and then you can push the repository
so others can see it, stop, remove.
So these are some important commands to get started.
So now we'll see some commands,
take a break and then install it.
So these are your sheet sheets.
So layers, what's the image?
What's the container?
What registry?
I'm not using it right now.
Docker component will talk about it later.
Wanna pull, I'll use Docker pull.
I can start, stop, I can create and login.
I can kill all these.
So these are some commands using which you can get started.
What I've done, I've made this commands
much more easier for you in different documents
so that you really understand
which is important Docker commands.
So once you install Docker,
you can see a version of Docker by using Docker version.
If you want to know what exactly
a Docker software consists of, you can say Docker info.
Pull, you can say pull.
To see images downloaded, say Docker images.
Create containers with different options,
one, iPhone D, one iPhone, iPhone IT.
We'll talk about it in detail.
Login, use exit.
To see container, we can use PS, running containers.
Once you all of them, you see a PS, iPhone A.
I can authenticate by doing Docker login
and we can start, stop.
Now you might want to know what is in a container,
what layers, what is IP address, what configurations.
For any of the Docker objects, we can use inspect.
You can say Docker inspect images or containers.
You can commit the changes
and you want to share it with others.
You tag your image with the repository
and then you push it
so that others can see your container changes.
These are the different commands
for working with your containers and docks,
which are going to explore.
I think any questions, team?
The first part is what I wanted to talk in the first session.
We should learn about what is your container.
We learned about Docker.
We learned about different components of Docker,
like Docker registry, Docker client, and Docker post.
And how, what are the container, what does it consist of?
What are Docker images?
What are layers?
How do you install Docker?
And some important command.
Any questions?
I would like to understand from you all,
when you want to have a short breaks,
when you want your lunch, breakfast or lunch break.
Please let me know so that you can plan accordingly.
What time you prefer to have your coffee break?
What time do you prefer lunch,
breakfast break or lunch break so they understand?
I think you all had breakfast, everyone?
You all had breakfast before the joint session?
Okay, fine.
So you tell me now when you want to have coffee break,
when you want lunch break, whatever you want to say,
because I want to understand how it does work.
You want to go now for short break?
You want to have coffee break now?
Okay, so are we good for coffee break, 15 minutes now?
And then once we come back, we will install Docker,
and we'll learn about the lab in which we'll pull the image,
create containers, all of them after the break.
So let me put a timer so we have a 15 minute break.
Yeah, thank you.
We'll be back soon.
Sindhu.
Yes, is my screen visible, everyone?
Clear? Is my screen clear?
Okay.
Are this everything you have confirmed?
What's your picture?
Are we in this now?
So we've opened multiple windows.
Load other windows so that you get confused.
So open one in one as of now.
Let's have one terminal window.
And close that.
So now we are logged into the VM.
So now you can, this is Linux.
So you can do a clear, you can clear out.
So open two.
So first we'll do a sudo su-.
So sudo su- would give root privileges.
And now we're doing the hands-on of lab one.
So logged in using a different method.
Use apt update, run these three commands.
Run these commands.
First do a sudo su-
and then run these three commands without the prompt.
And confirm the doctor version
once you've done these steps.
So first one, apt update.
See apt update would download the latest packages,
a copy of it on your local so that we can install it quickly.
And then you can say apt install
along with dependencies, hy.
And the application is docker.ip.
This is going to install Docker software.
Once you run the first two commands,
install it all the starts.
And now next one is to enable Docker service
in your run levels in Linux.
And then confirm the Docker version.
So let me see what's happening at the order.
Okay, good.
Any questions?
Yeah.
So can you do a control C?
Control C.
The spelling is wrong.
You see spelling is wrong.
It is D-O-C-A-E-R.
Spell check, type over there.
No, it is.
After K, there's no C again.
D-O-C-K-E-R.
The spelling is wrong.
D-O-C-K.
And after K is E-R.
Do a control C.
Do a control C.
Go clear.
I can't see a screen.
That's what I'm showing as text now.
Good.
Okay.
I'm gonna go to the screen.
Are there any questions?
Are we good?
Okay, fine.
So we're first step.
So now type in Docker and press enter.
When typing Docker and press enter,
you get lots of commands.
Just see the commands.
So type in Docker and press enter.
All these are commands.
Docker run, Docker exec, Docker ps, build and all.
And if you want to run any command with the help,
you can see what are the options.
So example, if you want to know what is Docker run,
you can say Docker run and space hyphen hyphen help.
It lets you know what is this command
and how to use the command.
Yeah.
So use any command.
See how to browse or look into the help options.
So every command we have a help.
And using these options,
you can work to create containers.
So every command,
you want to know what is for images,
what are Docker images.
For example, you can say Docker space images
hyphen hyphen help.
And let's you know this is for to list the images.
You can use these commands, Docker image ls,
Docker image ls, Docker images, and these are the options.
There's one more command.
Type in Docker space info.
Please type Docker space info and press enter.
You run it, observe the output.
So Docker info gives you a client portion.
And this is your server portion.
It says what is running containers,
the version, the logs, architecture,
all the information about your host, network, logs, form.
And you see the directory of Docker,
the configuration of the 1GB of the server.
Now let's go to this location.
So go to the Docker.
R lib docker.
And press enter and do ls.
So this is where you can see all your configuration files
of Docker.
And this commands.
So run in the command of Docker
to see all the Docker commands.
You can use the help.
You can see Docker info using which you can find
in the complete details about the client
and server components.
And under where lib docker, the root directory,
you can see all your Docker configuration files.
So if you download any image, it will go to this location.
So any volume will go to this location in default.
Okay, any questions team?
That'd be good.
Now let's do a lab.
One more lab.
In module one, labs.
We're going to lab two,
in which you are going to work with,
you wanna create container full images.
So I'll explain this lab.
First we will pull in the image of Docker engine X.
We'll observe how it pulls.
And then we'll list the images,
which is pulled by using Docker images.
And then we create a container from it.
You run command, we observe the image
that got created by using Docker V
as a Docker container list
to see whether container got created.
And I might want to see the IP address
so I can do inspect the IP ID
or I want to grab the information
so I can IP address this word, just to browse.
So container get IP addresses.
Because containers also need to be part of a network
for communication across multiple containers.
Then we will try to log in the container
by using logger exit command, exec hyphen IT,
the container ID and the name,
or you can just contain the name.
And it creates some file.
Consider you're a developer or a tester,
you try to create some file.
And observe the file is got created.
Then it's a good practice to do a control PQ to exit.
Don't type in exit.
You want to come back to your host, control PQ,
it'll be back to the host.
You can stop the container.
You cannot run Docker commands into the container.
It will be on the host.
You can stop it and see what happened.
You cannot log in.
You again start it, log in
and check whether you have the file.
If you want, you want to put some contents into it.
So you can install the editor, be able to write it.
And then try to put some text into it.
So the first part is all about how you create images.
How do you see the images?
How do we locate a container?
How do you log in the container?
How we can create some files
and how you can do some basic operations in a container.
The first part.
Are we good?
The first part, everyone, the flow, let's start.
So here, first command, Docker.
Pull, indynext.
Now this command, this will go ahead
and download the latest version of indynext from Docker Hub.
You're good, good.
Charles, you're good.
Everyone, are we good?
Okay, so now what I do is I would say
Docker space images.
So this will show you the repository
from which you created.
Yeah, okay, question.
Okay, tag name, image ID.
And this image was updated two weeks back
in Docker Hub by Docker.
This is all good, yeah.
The next step, to create a container from here.
So I'd say the different options.
So I'd say Docker run, hyphen D, and the report name.
And colon the tag name.
This is an optional, tag name is optional.
The latest one, you can also skip it.
Or you can type it like this.
And then press enter.
Okay.
Create a container now, everyone.
Docker run, is there Docker run also?
Docker run, hyphen D, space.
Ingenix colon latest.
Okay, good.
You're good.
Charles, you're good.
Let me see your charts.
Charles, what's happening?
Do a control C.
Do a control C, do a control C.
Yeah, one second, yeah.
One second, what did you do with the previous command?
No, no, no, you have to use, yes, yes, you're good.
The chart is good.
Next is, okay, what's happening?
Whose screen is this?
CK, any questions?
I think you're lagging.
Okay.
Okay, you're created, all right.
I think all are good.
So now let's proceed.
So now it's created.
So now how do I check it?
Item two, Docker PS.
And you see it could create a container.
So the container ID.
And this is your container name.
And this is the image from which you created.
And what command went inside and the time.
And you can also use Docker PS hyphen A.
Sometimes if you see, you wanna see all the containers.
Docker PS will show only running containers.
PS FNA will show all the containers,
stopped running containers.
Okay, this is one method to create a container.
So now let's see how to log into it.
So logging onto it.
Docker exec hyphen IP,
the container ID or the name.
Copy and paste it.
And then you can mention the shell.
So Linux we use different shells, bash,
bin slash sh, other shells.
So we mention here.
And now inside the container,
you can see that it is your host name of the container.
Now how do we confirm that this is your container?
So this must have all the application files.
So you can explore.
So you can use the find command for example.
In Linux, find.
This is an observation.
And I can say I wanna find the content in the files,
I do a find.
You see that I'm able to see the content in the file.
Some files cannot be reached.
Can I see other files?
For example, I might want to work on index.html.
And it is there.
You see that whatever your application you require,
is already available.
So now we understand that container
is properly created for you.
So you have to go and find.
So you see a file.
So now can I write something?
So I can write some stuff.
I can find, I'm able to do a file.
And I can see the file in here.
Can I make some changes?
So I can use ABT update.
So whenever you want to install anything in a container,
first you update.
And now I want to install Wim editor for example.
I say install Wim.
Edit it for modifying your data.
And you would install.
So I can open the same file.
I'm writing something, some .txt.
And then you can see the text.
Just play around.
So play around what you want to do in a container.
You can do any of your operations.
So I just create a small file
and I put some contents into it.
Yeah, play around in the container.
What I want to do.
Create a file.
Try to put in something, text into it.
We all know how to use Wim editor.
Do we know how to use editor tools?
Everyone, any questions?
Okay.
Yeah.
So press I.
June press I.
Press I on your lap.
Yes, put some kind.
Type in something.
Type something.
Yes.
Now press escape.
Others please observe.
Press, if you want to save this file,
press escape on your laptop.
Colon, colon WQ.
Escape colon WQ.
Click on.
Escape button.
First press escape.
Colon WQ.
Sorry, are you with me?
Yeah, okay.
Now, so do a cat command.
Do a cat.
Of the file name.
Cat and the file name.
Now cat, type in cat.
Remove this, go back.
Backspace.
Yeah, do a cat.
C-A-T.
No, no, you're doing something wrong.
Okay, type the file name space.
Space example.txt.
No, no, you're doing something wrong.
Can type an exit here.
Press colon.
Yes.
Now again, can you log in?
Log in to a server.
Can you do a pseudo-su-hyphen?
Pseudo-su-hyphen.
Pseudo-su-space-hyphen.
Yeah, enter.
Yeah, type in Docker.
Type in Docker and press enter.
Just type in Docker.
No hyphen.
Okay, fine.
So now, can you do a do a Docker PS?
Remove this, I'm not sure why I'm adding those.
Yeah, yeah, remove those.
Additional characters, remove those.
Use the backspace.
Yeah, type in Docker space PS.
No, no hyphen.
Yes.
Now type in Docker.
Type in Docker.
EXEC.
EC.
EC.
Yeah, C, C for charge.
Space.
If an IT, hyphen, IT.
T, T for tango.
For tango.
Or Tom.
Not D, T.
Yes.
Space.
Copy the container name or the ID.
Not copying properly.
You're missing it.
Okay, I'll tell you how to copy it.
One second, one second.
Yeah, yes.
Highlight on it.
No, no, no.
Slowly, please.
So can you highlight on your container ID below that?
Okay, now what you do now is,
below the container ID, okay.
F, A, space, space.
Use space.
Bash.
B, A, S, H.
Enter.
Now type in clear.
Please type clear.
Now type in VI.
VI, V for Victor.
I.
Space.
Example.
TXT.
Enter.
Press enter.
Yeah, press I.
Have you used edited tool before?
Do you need a follow up?
So what you do is come out of this.
Let's make it simple.
Escape, colon, W, Q.
Escape, colon, W, Q.
Now just press Q.
Escape, colon.
I'm not sure.
I think you're not able to use those options on your escape.
Press escape button.
Escape, yes.
Escape, colon.
Escape, colon.
You have to do it faster.
Okay.
Yeah, that's fine.
So make it simple.
Do a touch.
Log in the container now.
Again.
Use app arrows.
Use the app arrow.
In your prompt.
I think you're not.
Not sure what you're doing.
Others are able to do it.
This one.
Jeff, everyone.
This is very good.
Who's speaking now?
Okay, do a control C.
Type in clear.
Type in clear first.
Now what are you going to do?
Do a APT space update.
Yeah, space update.
This is command in the document.
Yeah.
Next, you say APT.
What I want to do?
You want to, you can either use APT or APT-HFN-GET.
Both are same.
Space.
APT space.
Install.
Install.
Space.
WIM.
Now we can say WIM.
WIM.
Space.
Example.
Enter.
Enter.
I.
I.
To see.
Yeah.
Type in some content.
What I want to say?
Type in some content.
Type in some content.
Escape colon WQ.
Escape.
So team, to save the file,
once you enter it, you have to use escape colon WQ
and press enter.
Type whatever you want.
Press escape then colon WQ to save and quit.
I think I'm not in group.
Can you mock more?
Can you make it small or something?
I'm not sure.
How do I take control?
Did you have an option to give control to me?
Do you have control now?
I have.
No, I don't have control.
I don't think you can do it.
Let's check.
Okay.
Now we're prog.
Are you there?
Okay.
The terminal, how will it?
I need to get access to your session.
I'm not sure.
How does it work?
For your machine and insight.
There's an option to control in here.
Okay.
I'll show you once more.
Please observe at my end.
Yes.
Yeah, do a cat.
Yes.
Yeah, we go.
Yes.
Let me show you again.
Please observe my screen.
I'm gonna do it.
See, for example, if you want a file,
I have to use, okay.
I go inside.
You want to write something, I press I.
You see insert mode.
Now I can make some changes.
Everyone please observe.
I press I.
I make some changes.
So now I want this file to be saved
and I want to be out of this file.
So I press escape.
The I would go instead of go away.
And then you press colon WQ and press enter.
Later on, this is useful for the Kubernetes
or you need to know this.
If not, it's quite difficult for the Kubernetes labs also.
So put in a file.
Put the file, make changes.
We're going to I.
Once you're done, press escape.
The I will go away.
Then press colon WQ and press enter.
See the file, docad.
The file name.
We're able to see the file contents.
Okay, let's see how many are good in here.
Are we good?
Is June?
Yes.
Okay.
Predicate a file now.
APT first do APT space update.
Do APT space update.
Space update.
Enter.
Install WIM.
APT hyphen get install WIM.
Yes.
WIM, VIM.
You can give a different name.
That's fine.
Forget of the same name.
Give some other name.
No, no, no.
I think maybe you missed it before.
Make it some other name.
Test dot something.
Some other name.
Test or whatever you want.
Yes.
Enter.
Press I.
Yes, put some content.
You can be stuck in the previous one
to do different one because you're making errors.
So do something.
The new file.
Yeah, escape.
Press escape.
On your laptop.
On a laptop, press escape.
Coolant, shift and semicolon.
Yeah, WQ.
Q, Q.
Press enter again.
Press enter.
Escape, colon, W, Q.
Hit enter.
Now do a cat and the file name.
Do a cat and the file name.
Cat, cat.
Cat, C-A-T.
Use a tab.
It's a Linux box.
Use a tab.
We'll populate.
Enter.
Are we good?
Charles, okay, you're good.
And Gene, press escape on your laptop.
Colon, shift and semicolon button.
Shift and semicolon button on your laptop.
Shift and semicolon your button.
Yeah, WQ.
W.
W.
Type in W.
Q.
Q for create.
Quick.
Enter.
Enter.
Yes.
Now do a cat.
Do a cat.
C-A-T.
And the file name.
Okay, so this is enhanced.
Please be comfortable on these commands.
Okay.
Last one, let's see for,
so what's happening?
Whose screen is this?
C-K?
What happened?
No controls, C?
Okay, okay, fine.
All right, team.
Yes, I repeat again.
You must be comfortable using BI and Linux basics
because without this,
very difficult for you to do the hands-on.
Yeah, so please look into these commands
in case you're time in the evening.
Just practice this.
You need to have knowledge of how to use this.
Yeah, so now I'm the container.
So to come to the container,
you have to press control PQ in the same time.
So you want to be back to host,
press control PQ.
Control button, PQ.
Control, press C,
and Q.
All these three buttons at the same time.
Are we back to the desktop?
The host?
Okay, I think we're good.
Fine.
So next one.
So now let's do some process.
Let's stop the container.
So do a docker.
How to copy?
Please observe how to copy it.
So if you want to copy something,
you copy it by highlighting what you want.
It gets, it'll normally be a copy.
Let's see this.
And then I click on paste.
You need not even right click and copy it.
Just highlight, it'll get copied.
And wherever you want, right click and paste it.
You need not go ahead and copy manually.
Just go ahead and try to do this.
Just highlight it,
and wherever you want, you right click, it'll get pasted.
Are we clear?
Okay, we're good.
I think, yeah, this is how we start working in.
Okay, okay.
So now you can do some operations.
Now we'll stop.
Can you log in?
You cannot log in now because it stopped.
So try to use the app.
You can use app arrow in Linux.
And then log into it.
You cannot log in because it is not running.
So what are you supposed to do?
What are you supposed to do now?
You cannot log in.
What are you supposed to do?
It is done.
Now I'm gonna create a new one.
So instead of start, make it start.
And now log into the container
and see whether you have the file.
Do the same file and do a cat.
And use a contents.
Start it.
Log in back and see if you have the same file.
Okay, you see it.
Do a cat now.
Do a cat and the file name.
Type in cat, cat, cat, and the file name.
Just type in.
You can use it, yes.
Example two, .ext.
So this is how we can log in back, see the files.
You see when you stop and start,
this is the file that's still existing.
Now press Control PQ.
Come to the host.
Control PQ in sequence.
That's it.
I think we're good now.
Press Control PQ.
Come out.
Yeah, I press Control PQ to come out.
So this is an example of how you create a container
and how you log into the container
and how we see the running containers.
So now, next is you want to share this file,
what you created with your team members.
So you need to push it to report the tweet.
So did we all create a report in Docker Hub before?
Did we create our own repository or not?
Let's start again.
So what we now do is, please observe.
Go along with me.
Do a Docker PS first.
And type in Docker commit.
Docker commit the container changes to a new image.
Give any image.
Do a Docker space commit space your container name
or the ID and give the image name
and check if it has got completed.
So again, do a Docker images
and check whether you have a new image.
The contents of the container and coming to image
and confirming.
Okay, I think June is good.
Charles is good.
Okay, I think we're doing it now.
So now this is what you want to push it.
So let's see the syntax.
You can also use the Docker tag.
This is syntax of every command.
Do a Docker tag and type in a one hell.
It says Docker tag source image and the target image.
So your source is a IN01, which is supposed to share
and to where does it target?
So now do you have a new report in Docker Hub?
You do or?
Confirm.
If you don't, can you create a repository in Docker Hub?
They can create a repository, give a name
and click on create.
Confirm once you're done.
Please access hub.docker.com in your browser,
hub.docker.com and create a new report.
Confirm once done.
Are we doing it Tim?
I don't see the screens.
Are you doing it?
Your report in your Docker Hub?
Please confirm.
Access hub.docker.com and create a repository
and confirm once you're done.
The chat please confirm because I can't see this.
My data didn't for me in your browser.
Confirm once.
Create a repository.
So click on report.
Click on create a report.
Give a name.
Yes.
And create, click on create.
Confirm once this is done.
Are this?
So now the repository is,
this is the report where you want, for example.
So you have to tag to this and push to this.
So now what you can do is,
I'm going to write the command in notepad
so that I can show you easily because the screens.
Syntaxes.
I'll say Docker tag.
My image name is img01.
My image which I want to tag is img01.
And the tag name of latest of images is this.
This is my source.
Where to push?
This is my target.
So I put a complete name.
So my complete name.
There I want to push.
Slash report.
Are we clear?
So Docker tag, the image01 colon latest.
And in here, and I'll paste it for you also in the tag.
And given some image version or latest,
you can say anything.
And you can say version one two, for example.
So in this syntax, modify your report name.
Modify this from this, what I've pasted you.
And run this command.
Modify your report, complete report name
with what I've given to you in the same syntax.
And run it.
And again, do a Docker images.
Let me know what happened.
No, no, no.
What's the name we gave before?
You have not done it properly.
You're not coming to properly.
Docker commit, you did.
You did not mention.
Can you go up again?
Use the apparel.
Please use the apparel.
Use the apparel.
Type in apparel, use apparel in the prompt.
Yes.
Yes, yes, yes.
Once more, once more.
Not this command, once more.
Use the apparel.
Apparel.
Run now, for Docker commit, slowly.
Go back to Docker commit command.
Docker commit.
Paste the, type in.
Docker space commit.
Can you type in otherwise?
Type it.
Docker space commit.
Space commit.
Yeah, space the container ID.
Paste it.
That A3 file, Docker mod.
The A3 file, you see in the top?
Yes, yes, yes.
Paste it.
Don't press enter, wait.
So now give a space.
Space IMG01.
IMG01.
IMG01.
IMG01.
Press enter.
Press enter.
Now run the tag command again,
the same which we ran before.
Just run the tag command again.
Yes, now do a Docker space images.
Okay, are we good?
You see the top one?
The first one.
First one is what has been tagged to.
Okay, are this good?
Okay, I think Charles is stuck somewhere.
Okay, it seems we're good.
Last one is gene.
You're good.
And we also talked about CK.
Even CK is good.
Yeah.
So now how do you push it?
Let us see the learner syntax.
So now if we do a Docker push
and see the help of it.
Do a Docker push and see help of it and see a syntax.
So it says Docker push and option in the name tag.
Yeah.
So it means that you can use the same command
just for your tag.
And just mention the destination.
So it can say Docker push
and give your destination location.
So Docker push space your report colon the tag name.
So it asks for authentication.
And for much just do something like this.
Okay, it's good.
Okay, I'll tell you what to do next.
Now what is the first thing to do is
you have to authenticate before you push.
So you say Docker login.
Give your username, which is signed up for a Docker Hub.
Use the username.
And enter the password of a Docker Hub account
and press enter.
So authenticate by using Docker space login
and then execute and then do a push.
It must push in the contents from a local to central.
Yeah, good.
So now refresh your repository.
Refresh your repository.
And you must be seeing the image in here.
And if you want your colleagues to pull, for example,
we can go to tags tab and you see tag name
and you can give it to your colleague.
For example, you can pull mine.
So this is mine copy.
If you want mine, you can pull it
and get a container from it.
Yes, let's see.
Can I do this?
Try to pull others, you can exchange
and see the image and try to get a container from it
and see if it can see.
Yeah, try to do yourself, let's see.
I want you to pull my image, get a container from this image
and see what is there in my example.txt.
This experiment I want you to do yourself.
What you can do, Charles.
Now go back to your repository in your Docker Hub.
Go back to Docker Hub browser and see,
do you refresh it?
Do you see the image there?
Yes, yes.
So now my next quiz, can you copy mine
and try to get a container from it?
I want you to pull my image and give me a chat history.
Run the command and try to get a container from it.
Do a clear.
See, it did not mean always in where you left Docker.
Just type in CD.
Type in CD, press enter.
Yeah, now try to copy what I did in the chat.
The chat I've given you.
Pull command, pull mine, run the command.
Copy and paste the command, not sure.
Why are you typing everything manually?
You're not even copying and pasting?
It must work.
Are this?
Okay, okay, I'm not sure.
It must work.
Are this?
I have to copy and paste from your chat history.
Experiment the next one, yourself.
Let's see, okay, one second.
Docker space login first.
I'm just asking you to log in.
One second, do a Docker space login.
Authenticate.
Okay, okay, sorry, sorry.
One second, one second.
I think I gave a wrong name.
Sorry, sorry, my mistake.
One sign mistake.
This can't form.
No, you type in manually, sorry.
My name is wrong.
See the spelling?
Check the name of the chat.
So I thought you copied and pasted.
Putting this wrong, okay?
Play around.
Yes, I'll be good.
I'm getting at the concept of how to work with containers.
Okay, now.
Download, this is,
whose screen is this machine right now?
It is June.
June, you're good now.
So what you do is,
so now you're inside my container, correct?
So now do LS.
Do LS, no, no, no.
You're already in the container right now.
Do LS.
Type in LS, LS.
LS.
Now you've typed it.
What happens?
Okay, re-login to it.
I'm not sure.
That's some issue that you're in.
Okay, team, this is how we get started.
The last command.
So we can also create containers in different methods.
So this is one more method,
where I can create a container
and I'll be inside the container.
That's an example.
So example, you're gonna get a container.
I can also use,
like run hyphen IT,
give the image name,
colon, the tag name,
and the shell.
So this get a container, I'm inside it.
There's a run hyphen IT.
So now if I come out of it,
do a Docker TS,
you'll see a new content got created.
So Docker run hyphen IT is a method in which
you'll get a container
and you'll be inside the container.
And then you can do LS, example.txt,
and you can see my files.
That's what I want to do at your end.
Okay, are we good?
Yes, you're good, June.
So now do a cat of example.txt.
No, no, no.
You're already in a container.
Please understand.
The run hyphen only contain, do LS.
Do LS please.
I don't have to type in LS?
Okay, okay.
Okay, okay.
Charles, are we good?
Now what are we trying to do now?
Do control C.
What is it, what are we trying to do?
Do control C, type in clear.
Please type clear.
What are the previous comment?
Just use the up arrow twice.
Use the up arrow twice.
Press the up arrow on your laptop.
Up, up, up arrows.
Yeah, yeah, once again, once again.
So what did I do?
Did you create a container?
Did you push it to Docker Hub?
No success, okay.
Can you do a control C?
Do control C.
Type in Docker space login.
Docker space login.
Enter.
All right, once again.
Yes.
Type in Docker space push.
Is copy the report, the top report completely.
The Charles, you see this?
Not that, not that.
The first column, yes, copy that.
Just highlight it.
Yeah, just highlight it.
That's it.
No, no, you don't do it.
That's not required.
Just highlight it.
That's it, got copied now.
Come back to next push.
Come back next push.
Now right click there.
Type in Docker space push.
Docker space push.
Paste where the pointer is there.
Not there, exactly the position.
Yeah, right click, paste, okay.
Type it, copy it properly once more.
You just need to highlight what you want to copy.
It's copy, enter.
No, no, no, sorry.
Use the again apparel.
Use apparel.
Yeah, colon, colon, then colon,
nginx version point two.
You see the tag name.
Nginx, v, point, zero point two.
No, no, no, zero point two.
Be careful, no, no.
V, see the name of the image.
Use apparel, please.
Use apparel again.
It is nginx, after v, you have zero, then point, point.
See the name tag name.
After v, it is zero.
Delete it.
Delete, dot.
Yes, zero.
No, zero.
Zero point two.
Point two, enter.
Understood, documents here, tag name.
The tag name, nginx.
So now refresh your browser.
Go to your browser.
In Docker Hub, do you see the images?
This is how we work.
Are we good?
Okay, okay.
This is a brief about the first one.
Any questions?
Okay, I'm getting idea about how do you log into container?
How do we do the operations?
Any questions?
Are we good?
So think this comes out so that I can proceed.
Okay, okay.
So we will just come first.
That's what I see, understand.
Nginx.
The next one, let's continue.
I also want to understand what time
is your preferred lunch time?
What time you prefer a lunch break?
Or you normally take a lunch break now,
or you take the lunch break after class?
I'm not sure how does it work there.
I can get you.
So you want to break time?
Team, everyone please, a request here.
Each one, let me know when you want to take a break.
After 30 minutes from now or right now, when you want.
That's my question.
They're right here.
12.30, you want 12.30, okay.
So is it okay if we can give a 30 minutes break
for lunch break for 31 o'clock, is that okay?
Or you need more time for lunch break?
Just asking how does that work?
Will 30 minutes be good for you all?
So for example, if I say 12.30 to 1 p.m.,
would it be good?
Yeah, confirm by using a thumbs up
so that we are beyond this.
Everyone, so I didn't get you.
You mean to say you need more time?
Yeah, that's what I'm asking you.
That's what I'm asking.
I was open, how much time do you require?
You need one hour or 45 minutes or 30 minutes.
Okay, okay, others, are we good?
Okay, but because what is happening here is
you're not able to do the hands-on quickly.
So we are actually going slow
compared to the speed expected.
Yeah, yeah, and hence, so can we, yes, yes, yes, yes.
So can we do it for 45 minutes?
Say one, to 1.15, sorry, 12.30 p.m. to 1.15.
Yeah, we'll do it later.
So right now, the time is, I think, for you,
it is 12.07, correct?
Is it 12.07?
Okay, fine.
Let's continue and then take a break.
Now, what is Dr. Fine?
The Dr. Fine is going to find this piece of all the contents.
So tomorrow, if you want to create all the files,
so are you aware of any languages like Python or Java?
Do we have programmatic language, anyone in here?
Do you know Python or you know Java
or you know C-sharp, any languages?
Yes, no, we know C-sharp, okay.
So how do you extract right in your own contents?
So we create a Docker file, BA Docker file,
and then you can mention from where you want the image.
You can mention who was the owner of it.
You can mention what you want to install.
That is the path of your application.
You can mention, for example,
you create a file called a Docker file.
And this use case is, you see it here,
is to create your own IndieNex configurations.
So in this folder, so you create a folder,
for example, CD Project One,
and in this folder, you will have a Docker file.
You will also have some files like IndieNex.com.
You will have all these things
in your local machine in the folder directory.
And then you can say that I want to copy this file
to this location in a container.
So whatever files you want, you have to copy to a folder,
and you can say add this file in the present directory
to your containers, like this.
You can also call in some file which is outside
in Intranet or internet to be copied.
So we use add or copy to copy the files,
and we use command and entry point
to refer some parameters to be run.
So like this, you update all the,
these are instructions, these are the arguments.
So this could be OS, or Ubuntu,
it could be your CentOS, or it could be .NET,
or this could be JDK, anything you can use.
Or if nothing is there, it becomes a scratch.
Scratch means it is from a blank image.
So from is to define some base.
It could be own images, or it could be a .NET.
It all depends on what exactly you are trying to create.
For IndieNex, I require a minimal OS file,
so I'm mentioning Ubuntu.
So based on your requirements,
you have to use appropriate instructions
and the arguments, and write like this.
We mention which port number.
So once written all these things, you run it.
So how do you run it?
To create a build image, you say docker build,
and give a name.
T means tag name.
And you want this name for the image
which you want building, space dot.
So it means that you're trying to run it
in the present working directory.
So when you run this,
you're running as a client.
Now the request goes to daemon.
Now daemon would look in for a file named as docker file.
It will go and file surface, file called docker file
in the dot, it means the current working directory.
It understands that the docker file,
and whatever was there in the docker file lines,
those would get executed.
The first line get executed.
So the first line would have some output.
It will create a container.
And the second line if required can use in those containers.
This all does it for temporary,
and the end it will build your image.
So every line would get executed.
It will have information cache.
A cache means like a temporary storage.
The other layers would refer those temporary layers,
get the information, and use the information
what is defined in those temporary layers.
And then it will collectively create an image.
And it says the image is built.
And then once you're done,
you can say docker space images,
and you will see a new image robot created.
Are we clear?
Everyone?
I'll do a hands on now.
Do a lab now.
Lab three.
This lab, so before we get started,
ensure that, so let's do together.
Let's create directory.
So be in your CD.
If you're somewhere, do a CD and be on your host.
We're talking about lab two.
So lab three, the word document.
So we'll first create a tree.
I want to show a project directory first.
So you say CD, project one.
So MKDIR, so MKDIR, project one, for example.
And go inside CD in your host.
So now you want to get your own docker file in this location.
This is going to have these variables.
And we're going to start your Apache.
So we are trying to create your own container image
for Apache, and these are the lines.
So copy, so say as vi docker file.
These caps, F is small.
Vi space docker file.
I'll give the chat.
Copy this contents and paste it.
Copy this contents and paste it.
Copy and paste the contents.
Let's see where to paste it, everyone.
Then colon, the same process.
Escape colon wq.
Yes, Charles, you're not able to copy it.
Charles, once again, vi, yeah.
Type in the same.
Use the app arrow, vi docker file, the same command.
Enter.
Remove this, do a backspace.
Do a backspace, yes.
Now press i, i.
Now go to a chat history and copy the contents.
Or you can copy from your document also.
Copy the contents.
Have you copied?
Yeah, please right click exactly on the
where you have the pointer, exactly on.
Yes, yeah, right click, paste, paste.
No, we're not doing properly.
Go back, backspace, remove this.
Remove this, which one are you copying?
Let me, can you share screen using your from Zoom?
Share screen, the option to share screen directly
and helping you access.
Charles, so which one are you using?
Because, okay, yeah, please share screen now.
I don't see it, I just see your name.
I don't see a screen, Charles, share it.
Please share screen in Zoom.
Yeah, okay, it's coming up now.
Yes, now right click.
Copy the content, the chat.
You see chat, we have some contents.
Or a document.
Can you go to one document and see how we're copying it?
Please show me how we're copying it, please.
Play backspace, remove it, delete it.
Could you delete this?
Am I not audible?
Yeah, is it because others can see me?
Can you go to document, Charles?
Please, Charles, we need help.
I mean, you need to do quickly.
Could you go to the word document?
Did you say complete, Charles, sorry.
I can't understand you.
So could you share the complete screen?
Where's the word document of a lab?
Yeah, please first click enable.
So you see there's not any,
one second, click enable editing on the top.
Yes, now you can copy.
Till now you're not able to copy
because of the enabled editing.
Getting it?
Yes, now you'll be able to copy it.
It's not getting copied before
because you're not able to edit it.
Now right click, paste.
Okay, use backspace.
Backspace, go back to word document.
Right click, right click in here.
Please click on copy.
I'm not sure, did you copy it properly?
Did you put a notepad on your laptop?
Did you put a notepad on your laptop?
Fine, now copy from, again, copy from here.
Copy the contents.
Yes, now go to your terminal, right click, paste.
I'm not sure what I'm doing.
I'm just not getting, just right click.
Okay, not sure.
Come out of this file.
Come out of this file, escape colon WQ.
No, no, no.
Escape colon WQ.
Enter.
Now do a VI again.
Use the VI again.
We have the same, yeah, enter.
I, right click, paste.
Okay, I'm not sure.
Okay, can someone help them?
Help them?
What's the problem?
Okay.
Might be it is not allowing to copy
from your office laptop or something restricted.
Okay.
Sir, can you proceed in the meanwhile?
For this?
Okay, everyone.
So now, once you paste it, press escape colon WQ.
Now to confirm whether it's properly copied, do a cat.
Do a cat of the Docker file.
You see?
Are we good till here, everyone?
So now, want to build this?
I'd say Docker build hyphen T.
Again, you may do whatever you want to give.
You may do a two, for example.
Docker build hyphen T image, zero two, and space.
One space is there and then dot.
Then do the command, use a dot and press enter.
So Docker build hyphen T image, zero two,
what are the name of the image?
Space dot and press enter.
And you see the build would happen in the back end.
So it is building the image.
Yeah, is it done?
Please confirm, are you able to get the image?
Okay, fine.
Next step is we might have to open some ports.
Let me log in once again.
Log into Amazon.
I'm going to give access for the ports.
So this is what the background service
is trying to go inside.
And you have all the VMs running in here.
Okay.
So now let's see the traffic.
I just want to check in the traffic
that's being allowed on all the machines.
Okay.
So we'll just, one minute.
Let me just modify the, yeah, my screen's not getting shared.
Let me share my complete screen.
Yeah, I think I'm finished.
Enter screen.
Is the screen all visible?
Okay, okay.
So logging to this one,
I'm checking for a port to be given
so that you can do the hands-on.
Just trying to enable a port for you all.
Just give me a minute.
I click on this.
You are working on Amazon?
You are working on Amazon?
Oh, no.
Okay, okay.
So I'm trying to modify security group
so that it can allow port 80.
Just trying to modify so that you can all do the output.
Okay.
I'm trying to open all ports
so that we can quickly do the hands-on,
making all traffic.
Okay, making all traffic.
Okay.
Now you do it.
Let me add a rule for SSH.
This is 22.
And we add one more rule for HTTP.
Which is port 80.
Okay.
I'm not able to do it.
I think I have to modify the break
and to protect the backend.
So now I do it.
Right now, port, I'll show you how to modify this offline.
So are you able to create an image till now?
Everyone?
The image is created.
Next?
Yeah, the next step is I'm trying to expose it
outside world, port 80.
And we're not able to see because the port is blocked.
Yeah?
So on port 80.
So what you can do is right now, you can do a curl.
So do a curl, the public IP.
So do a curl, the public IP in your browser.
So curl and the IP address.
18, 139,
and 250,
dot 99.
And this must give you the page.
So the port is blocked.
In the break, I'll let you know, I'll enable the port.
You must be able to see the Apache page.
Understanding the lab, let's go to this location
and give you the content.
What is there inside this as a website?
So a simple example about how you can create a container
and how you're exposing the container to outside world.
This port is blocked right now.
In the break, I'll work with the backend team
and have the port to be enabled.
And you will be able to see your website.
To be clear, a small example about how we can create
a own Docker file and you can create
and see the contents of the website.
Yes, no?
Okay, are you all able to do till here?
Everyone, this step, the last one will not work.
I'll explore in the break.
I'll have it done.
Any questions?
Any questions, Gene, Charles and others?
Are we good?
So we'll take break now.
And after the break, I'll ensure that the port is enabled.
You'll also see the output in the browser.
So break for you till 1.15 p.m.
Okay?
Or you want to come early.
You tell me.
Okay?
Break till 1.15 p.m.
Thank you.
Now you have done it.
Hi, sir.
Hi, sir, we have to modify the ports.
We have very severe access.
No, when I go to a modern security group,
this is already at a policy, I cannot do it.
I can't even one more.
So let's make it all traffic something easier.
Otherwise, every port we cannot open it.
So my, because these people are not very good in Linux,
okay, everything.
So very difficult for them to allow even one port also.
So if you can modify where in security group
with all traffic, it will be helpful for me
to install everything.
Yeah, yeah.
Thank you.
I'll wait for you.
There's a break now.
Hi, I'm back.
Everyone confirm as you're back from break.
Yeah, you can use group chat.
Good, others?
Just confirm.
Okay.
So in the break, what happened was
I informed the backend team to update the rules.
So they were added all traffic.
It means all ports are allowed right now.
Now, when you try to access the public IP
of your machine, the browser,
so you can say HTTP and paste the public IP in the browser.
You will be able to see this.
Confirm, please confirm to be able to see this
in the browser.
And you can also do a search.
You can also do a search in the browser.
And you can also do a curl.
And you will be able to see the website coming
in the content in your local machine also.
I'm sure, but the browser you can see.
Yeah, could you all confirm please?
Let me see this browser screens at your end.
Yeah, do a curl, HTTP colon double slash
and the public IP in your terminal.
You will be able to see this.
Could you all show me this output?
Let's see.
Do this curl HTTP colon double slash
and the public IP of your VM.
Yeah, good.
Good.
Curl, type in curl, type curl once more please.
Space HTTP, HTTP colon double slash.
Yeah, now the IP.
Type in IP 13.213.
Is the IP right?
Please confirm and type it.
Something is wrong.
Oh, you have come out of server.
Charles, log into your server first.
SSH, go to location first.
No, no, no, you have to go to location first.
Simple CD, forward slash CD space forward slash home.
Go to the path, go to the path.
Please log in server into the channel.
Spelling is wrong.
It's home.
CD forward slash home slash student.
CD forward slash home slash students.
Yeah, do it.
No, you can do a single one.
Once again, once again.
Do LS, do LS.
No, no, no, you're in wrong path.
Charles, please be in sync.
Please do LS in this location.
Do LS.
So now what you do is home student.
Do a CD, type in CD space VM.
Type in VM, small and tap, tap.
Enter, yeah, now do SSH hyphen I
space hyphen I, no hyphen hyphen hyphen hyphen
hyphen dash hyphen, yes, I
space now type in the key name key.pem key.pem key.pem
Charles space Ubuntu, Ubuntu spelling UBUNTU
UBUNTU, I'm not sure team.
So Charles, you have to be in sync please.
Please understand the commands.
This is your syntax.
The spelling is wrong.
UBUNTU, B for boy, Ubuntu, add.
Thank you for the typing.
I'm not sure.
Type it, yeah, type it.
Yes, now do a pseudo pseudo space hyphen.
SU, SU, not an SU.
Space hyphen pseudo, yeah, space, one space and hyphen.
Hyphen, enter.
Yeah, now do the curl command.
Http colon double slash and a public IP.
Http double slash, enter.
So it means that something is not done properly.
What I'll run, can you go to do a list?
Do a list, yes, where is the, go to project one.
Go to CD, go inside it, do a clear.
That been clear.
Please go inside the project.
CD, project one, enter, do a list.
Yes, do a Docker space images.
Charles, did you do the hands on of the lab or no, please?
Let us know, Charles, let us speak please.
I'm not sure.
Did you run the commands of the lab?
Yes or no, please.
Okay, type in Docker space images.
Images, Docker space images.
Type it clear, clear.
Please type clear, clear.
C-L-E-A-R, I can't see it.
So now do a VI.
No, once again, Docker build.
Type in Docker build, Docker build, build,
B-U-I-L-E, build, B-U-I-L-E space hyphen T,
T for Tango, hyphen T space, IMG01, 02, IMG01.
You can use any name, okay?
Just type in IMG, yeah, space, space dot.
Yeah, enter, this is me getting pulled.
Wait, yes, now come down.
Have you been clear?
Okay, now, images, enter.
Now do a Docker run hyphen D
space hyphen P, hyphen P space 8080,
no, 8080 number, number 8080, colon 80, colon.
No space, shift and semicolon button, colon 8080,
number 80 space engine X01.
No, no, no, why are you giving space?
You need to immediately recreate it.
Yeah, enter, now do the curl command now.
Use the apparel and the curl command again.
Curl HTTP colon double slash the public IP.
Type in the IP of the machine.
Is the IP correct?
No, can you confirm?
So I give you three machines, which one is locked in?
Can you type in ifconfig, ifconfig, one second.
Can you give the private IP of 172.31.28.2.35, one minute.
172.31, which machine is locked in?
Can you confirm?
172.31.28.2.35, one minute.
172.31, what is the private IP?
131, what do you see the left side?
131, what do you see there?
28.235, 13.213.49.12, okay, in the right machine.
Right machine, you have done some errors,
mischecking, what could be the reason?
So you're just checking in here.
Can you confirm?
Can you confirm?
Yes, do it.
Type in Docker space PS.
Yes, sir.
Can you show me the Docker file?
Cat Docker file, cat cat cat, cat.
CAT, CAT, space Docker file, dcaps.
Type in that.
No, no, no.
Only these capital, this file name.
Press tab, press tab, press tab.
Press tab.
D, capital D and press tab.
Tab, yes, enter.
Let me just check for this machine.
So can you copy the IP in the browser?
Once again, for some reasons,
you see that it is not the port 80 is not going.
So something is wrong and not properly run.
And I did it 8080,
got the next zero one.
Something is wrong.
Let me just check.
I can be 8080, one minute.
Engine X, zero one, all good.
Something is blocking.
So you have two images.
So do a Docker PS FNA.
Do a Docker PS FNA.
I think I've got to create a backend.
Let's see.
Docker PS space FNA.
So this is a mistake.
It's not created properly of the previous ones.
You see it's not getting started.
Okay, now do a Docker start.
Docker start, yeah, first one, the first container.
First container, yeah.
Double click, yes, just copy and paste that, yes.
So this is the answer I can enter.
Yes, now do a Docker PS.
Do a Docker PS.
It's not starting.
Something you have done, it's not starting for some reasons.
Docker start, time is bad.
It's not starting for some reasons.
So do a service.
Service type is service.
No, service.
Service.
S-E-R-V-I-C-E, service, service.
C-E space Docker.
Space start, enter.
Now again, do a Docker PS hyphen A.
Now do a start.
Do a Docker start on the container, ID, enter.
Yeah, do a PS, Docker PS.
It's not starting, something you have done.
Okay, I'm not sure.
So there's some reason is because the container
is not getting started for some reasons.
I'm not able to start it.
Might be you did some mistakes
for creating a container and this.
So let's do something.
So can you do a Docker?
Type in Docker.
Type in stop, stop.
And use the dollar prompt.
No, no, no, don't do like this.
Use the dollar prompt.
Dollar, shift and dollar.
Dollar, dollar prompt.
Yes, then open braces, open the brackets.
Open, no, no, not this.
Normal, normal, not this one, other one.
The other one, yeah.
Docker PS, Docker space PS.
Space, this one too.
Close the brackets, close it, enter.
Yeah, now use the apparel, use the apparel once.
Apparel on your laptop, apparel.
Yeah, instead of stop.
RM, RM and inside, go inside and instead of PS,
use PS space hyphen A.
He let the PS be there, one space.
And after PS, one space and hyphen A.
Space, hyphen, yeah, hyphen A.
Yeah, enter, now.
Now control C, so try and remove all the containers.
Do a clear, now create a container now.
Docker run hyphen D.
Docker run hyphen D, hyphen P, hyphen P, 80.
Space 80 colon 80, number 80.
Colon 80, space engine X, 01.
Yeah, enter.
Now do Docker PS, let's see if this will start.
Okay, okay, I'm not sure.
For some reasons, you're continuing
to go around setting started.
So something, can you open Docker file again?
Something almost, then no.
Do a cat to Docker file.
Okay, or can do a history, please?
Do a history, type in history.
Enter.
Okay, okay, come down.
Control prompt, control C, go clear.
So try to do a Docker PS, hyphen A.
Docker space PS hyphen A, now start it.
For some reasons, not even start it.
Might be your servers or something problem.
I feel.
So Docker start the container ID.
So do a Docker PS, Docker space PS.
Okay, last try, service, Docker restart.
Service, Docker restart, space restart.
So now I'm going to use the same thing.
Do a Docker start.
Docker start command, start and the container ID.
Yeah, do a Docker PS.
Okay, see, Charles, what I understand is
some configurations has got a problem.
So what you can do is you have to remove.
So do an apt remove, apt, apt, apt, apt.
APT, space remove, Docker, Docker.io, yeah.
Docker.io, enter some.
Choose yes, why?
Again, do an apt space, install Docker.io.
Something has gone.
Something has gone.
.io, enter.
Okay, type in clear.
Nothing with a prompt.
Yeah, use the apparel now and again,
create one more container, do a Docker run command.
8080, run the same command.
Use the apparels to go back to the previous commands.
Please use apparels.
Press the apparel.
Just use the press, yes, yes, yes.
Apparel once more, once more, once more, once more,
once more, once more, once more, once more.
Yeah, yes, no, no, yes, press enter.
So run the next command for starting the container.
One second, can you run the command
which is in the chat?
Now run the previous command, Docker run command again.
You can use the apparel and run it.
Use the apparel and run the same command
which you used before.
Yes, enter.
Yes, now do a Docker space PS.
Okay, I'm not sure.
There is something that's happened.
Might be, can you do the second mission
and do the steps from the first?
Yeah, yeah, yeah, the VM two, I've given you.
Okay, so apparently I'm gonna talk about the backend.
Something is wrong with VM something.
Let me check, figure out the break.
Yeah, so can you do it offline?
I'm gonna stop sharing.
Yes, yeah, you can see.
Okay, let me take a control.
Can you all see my screen now?
Can you all see my screen now?
Okay.
In the next topic.
Others, are you able to run this?
Did you all get the output of public app in the browser?
Did you all get the Ubuntu page in the browser?
Please confirm the chat, please.
Sorry, is it your screen?
Gene, correct?
So do a curl, type in curl, curl, no, curl, curl, curl.
Curl, HDP, colon, double slash, yeah,
and public app, public app.
Yeah, no, in the one which is this machine, public IP,
this machine, we need to log in, local host.
Enter, yeah, it's coming.
So it is your public IP means the machine,
the local host in which your machine install,
we're talking about that public IP, clear?
Okay, correct.
So I think,
good now to proceed.
Now next is your lab in which you're able to create
the image and you can go and make changes required
to the location.
It's in this location, you can go and make changes.
Let me do this, please observe.
So now I have a container, for example.
I'll go into the container, docker exec-IT.
This is my container.
Copy and paste in this.
Go to one,
or more, and then I save that.
So now I go to location,
var www.html, yes,
and inside this, you have a file.
So I would say app update, for example,
I want to install Wim editor.
This is trying to play around.
So I'm going to say install Wim editor.
So what are contents were there in the index files
that are going to come up?
I'm trying to modify my own custom.
And so the Wim editor,
and now I'll say Wim index.html.
Now in this file now, I'll go down.
This is my body, the background, all the colors.
So now I want to modify some contents into it.
This is Apache page, see this?
This is heading, which you're getting it.
So the contents are coming from this page.
So I'm going to modify this to some other context,
just say test, yeah.
And I'm going to save this file.
So I'm talking about line number, which I'm updating.
In here, and I save this file.
I'll take a tool.
Let's keep this setting.                

on 2024-12-16

Visit the Docker and Kubernetes Training Course course recordings page