2:25:36
2024-12-16 09:21:57
2:03:59
2024-12-16 11:06:33
1:46:52
2024-12-16 13:50:28
1:56:02
2024-12-17 09:35:43
1:52:29
2024-12-17 09:39:32
1:51:17
2024-12-17 13:36:38
1:35:13
2024-12-18 08:59:20
23:23
2024-12-18 11:50:59
1:47:49
2024-12-18 13:41:04
Visit the Docker and Kubernetes Training Course course recordings page
United Arab Emirates - Docker and Kubernetes on AWS
WEBVTT--> Okay, good. --> Does --> any any questions. --> So can you do a control see control see spelling is wrong. --> You see spelling is wrong. It is D. O. C. A. --> Spell check type over. --> That is --> CK and after K is --> E. R. Do a control C. Do a control C. --> I can't see --> good. --> Others any questions. --> So now --> docker and press enter. --> Docker and press enter you get lots of commands to see the commands. --> Docker and press enter. --> If you want to run any command with the help --> you can see what are the options. --> So example you want to know what is docker run. You can say docker run --> and space hyphen hyphen help. --> Let's you know what is this command and how to use --> the command. --> 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 list docker image list docker images. --> And these are the options. --> Let's run one more command. Type in docker space info. --> Press enter. --> Observe the output. So docker info --> gives you a client portion. --> And this is your server portion. --> It says what is running the containers the version the logs --> architecture all the information about your host network --> logs form. And you see the directory of docker --> the configuration the 1gb of the server. --> Let's go to this location. --> var lib docker --> and press enter. --> And do ls. So this is where you can see all your configuration files. --> Run this command. --> Run 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 var lib docker --> you can see all your docker configuration files. --> So if you download any image it will go to this location. --> Any volume will go to this location in default. Any questions team? --> Now let's do a lab. --> In module 1 labs. We are going to lab 2. --> In which we are going to work with. We are going to create container full images. --> So let's explain this lab. First we will pull in the image --> of docker enginex. We will observe how it pulls. --> And then we will list the images which is pulled by your docker images. --> And then we create a container from it. --> We observe the images got created by using dockerv as a docker container list --> to see whether the container got created. --> 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 get the IP address just to browse. --> So containers get the 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 docker exit command. Exit hyphen IP the container ID and the name --> or you can use container name. And then create some file. --> Consider you are a developer or a tester. You try to create some file. --> And observe the files 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 the host. Control PQ will be back to the host. --> You can stop the container. So you cannot run docker command into the container --> that will be on the host. You can stop it and see what happens. 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 BIM editor. --> 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 log create 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 is the first part. --> Are we good? The first part everyone? The flow? Let's start. --> So, clear. First command docker --> full indynext. --> Now this command, this will go ahead and download the latest version --> of indynext from docker hub. --> Good. Good. --> Charles you're good. Everyone are we good? --> So now what I do is I would say docker --> images. So this will show you the repository from which you created. --> Yeah. Question. Tag name. Image ID. --> And this image was updated two weeks back in docker hub by docker. --> 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 optional. Tag name is optional. The latest one you can also skip it. --> Or you can type it like this. Now press enter. --> Okay. Create a container now everyone. --> Docker run is there. Docker run hyphen d space --> indynext colon latest. --> Okay good. --> You're good. Charles --> You're good. Let me see your charge. 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? --> You have to use. Yes. Yes. You're good. --> The charge is good. Next is --> What's happening? Whose screen is this? CK. --> Any questions? I think you're lagging. Okay. --> So now let's proceed. So now it's created. So now how do I check it? --> I can do a 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 want to see all the containers. Docker ps will show only running containers. --> Ps have a name which 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. --> Logging onto it. --> Docker exec --> hyphen ip. The container id or the name. --> And paste it. And then you can mention the shell. --> So the next we use different shells. Bash. --> Other shells. --> And now inside the container you can see that it is your hostname of the container. --> Now how do you 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 want to find the container files. I do a find. --> You see that I am able to see the container files. Some files cannot be teased. --> 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 you understand that container --> is properly created for you. So you have to go and find. --> So now can I write something? So I can write something. I am able to do a --> file. And I can see the file in here. --> Can I make some changes? --> So I can use ability update. --> So whenever you want to install anything in a container first you update. --> And now I want to install WimEditor for example. I say install WimEditor. --> Edited for modifying your data. --> And you would install. --> So I can open the same file. I am writing something. --> 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. --> Play around in the container. What I want to do. --> Create a file. Try to put in some text into it. --> We all know how to use WimEditor. --> Do we know how to use edited tools? --> Anyone? --> Any questions? --> Any questions? --> Yeah. So press I. --> June press I. Press I on your laptop. Yes. --> Now press escape. Others please observe. --> I want to save this file. Press escape on your laptop. --> Poland. --> Quicker. Escape button. --> First press escape. --> Poland WQ. Are you with me? --> So do a cat command. Do a cat. --> Cat and the file name. --> Do a cat. --> No no you are doing something wrong. --> Okay type the file name space. --> Example.txt. Enter. No no you are doing something wrong. --> Can type an exit here. Press colon. --> Yes. Now again can you log in. Log in to your server. --> Can you do a sudo su-? --> sudo su- --> sudo su- --> type in docker and press enter. --> So now can you do a --> docker ps. I am not sure why I am adding those. --> Remove those additional characters. Remove those. --> Use a backspace. Type in docker ps. No no hyphen. --> Now type in docker --> exec. --> C. C for charge. --> space hyphen it hyphen it. T for tango. --> T for tango. --> Yes space. --> Copy the container name or the id. You are not copying properly. You are missing it. --> Right click slowly. I tell you how to copy it. One second. --> One second. Yes. Highlight on it. No no no. --> Slowly please. So can you highlight on your container --> id below that. Now what you do now is below the container id --> space space. --> 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. --> Press i. So have you used editor tool before? Do you follow up? So what you do is come out --> of this. Let's make it simple. Escape colon wq. --> Escape colon wq. Or just press q. --> Escape colon. You are not sure. I think you are not able to use those options. --> Press escape button. Escape. Yes. --> Escape colon. Escape colon. You have to do it faster. --> That's fine. So make it simple. Do a touch. Log in the container now. --> Again. Use the apparrows. Use the apparrows. --> In your prompt. I think you are not --> sure what you are doing. Others are able to do it. --> Who is speaking now? --> Do a control c. Type in clear. --> Type in clear. Yes. Now what I am going to do? Do a APT space update. --> This is command given document. Next you say APT. What I am going to do? --> You can either use APT or APT help and get. Both are same. --> APT space. Install. Type in install --> space vim. Now you can say vim --> space example dot. --> Enter. I press I. --> 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. --> Can you make it small or something? --> Do you have control now? I don't think you can do it. --> The terminal. --> I need to get access to your session. --> I am not sure how does it work for your machine inside this. --> Option to control in here. I will show you once more. Please observe. --> Yes. Do a cat. Yes. --> Let me show you again. Please observe my screen. I am going to 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 --> 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 insert go away. And then you press colon --> wq and press enter. --> Play around. This is useful for the Kubernetes audience to know this. --> It's not quite difficult for the Kubernetes labs also. So put in a file. --> Make changes. We are going to I. --> Once you are done press escape. The I will go away. Then press --> colon wq and press enter. --> See the file. Do a cat. And the file name. You will see the file contents. --> Okay. Let's see how many are good in here. Are we good? --> Yes June. Yes. --> Okay. --> Apd space update. --> Apd space update. --> Install them. Apd hyphen get install them. --> You can give a different name. That's fine. --> Forget the same name. Give some other name. I think we missed it before. --> Test or something. Some other name. Test or whatever you want. --> Press I. Put some content. --> Do something. --> Press escape. On your laptop. --> On your laptop. In this case colon shift and semicolon. --> Yeah. W q. Q q. Press enter again. --> Press enter. Escape colon w q. --> Now do a cat and the file name. --> Do a cat and the file name. Cat cat. --> Cat cat. Use a tab. It's a Linux box. --> Enter. Are we good? Okay. --> Charles. Okay. You're good. --> Colons shift and semicolon button. --> Shift and semicolon button on your laptop. --> Shift and semicolon. Your button. Yeah. W q. --> W. Type in w. Q. Q for create quick. --> Enter. Enter. Yes. Yeah. Now do a cat. --> Do a cat and the file name. --> Okay. --> Please be comfortable on these commands. --> Okay. Last one. Let's see for. --> What's happening. --> Whose screen is this? CK? --> What happened? --> Your control screen? Okay fine. Alright team. --> Yes. I repeat again. You must be comfortable in 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 your 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 P Q in the same time. --> So you want to be back to host. Press control P Q. --> Control button. P Q. Control press P. --> And Q. All these three buttons at the same time. --> We're back to the stop. --> The host. --> Okay. I think I'm good. Fine. So next one. --> So now let's do some process. Let's start the container. --> Do a docus. 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 normally copied. Let's see this. --> And then I click on paste. --> You need not even right click and copy it. Just highlight. It will 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 will get pasted. --> Are we clear? That's it. You're good. I think. --> Yeah. This is how we start working in. --> Okay. Okay. Okay. --> So now you can do some operations. --> Can you log in? You cannot log in now because it's stopped. --> So try to use the app. You can use app panel 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? --> Now it is done. --> Now I'm going to 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 a file name. --> Type in cat. Cat cat. --> And a file name. Just type in. You can use it. Yes. --> Example 2.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 is still existing. --> Now press control PQ. --> Come to the host. --> Control PQ in sequence. --> That's it. I think we're good now. --> Everyone press control PQ. --> Come out. --> Yeah. Press control PQ to come out. --> So this is 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 repository. --> So did you all create a repo in Docker Hub before? --> Did you create your own repository or not? --> Let's start again. --> So what do you now do? Please observe. --> Do along with me. --> Do a Docker PS first. --> And type in Docker commit. --> Docker commit the container. --> Changes. --> To a new image. --> So 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. --> So the contents of the container and coming to image. --> I'm confirming. --> Okay. I think June is good. --> Charles is good. --> Okay. I think I'm putting 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 help. --> 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 repo in Docker Hub? --> If you don't, can you create a repository in Docker Hub? --> Click on create a repository. --> Give a name. --> And click on create. --> Confirm once you are done. --> Please access hub.docker.com in your browser. --> Hub.docker.com. --> And create a new repo. --> Confirm once done. --> Are you doing it team? --> I don't see the screens. --> Are you doing it repo in your Docker Hub? --> Please confirm. --> Access hub.docker.com and create a repository. --> And confirm once you are done. --> The chat please. --> Confirm. --> Because I can't see this. --> My data isn't for me in your browser. --> Confirm once. --> Create a repository. --> Click on repo. --> Click on create a repo. --> Give a name. --> Yes. --> And create. --> Click on create. --> Confirm once this is done. --> Are this okay? --> So now the repository is. --> This is the repo where you want. --> For example. --> So you have to tag to this and push to this. --> So now what you can do is. --> I am going to write the command in notepad so that I can show you easily because --> Syntaxes. --> I'll say Docker. --> Tag. --> My image name is IMG01. --> So my image which I want to tag is IMG01. --> And the tag name of latest of images is. --> This is my source. --> Where to push. --> This is my target. --> So I put a complete name. --> So my complete name. --> Where I want to push. --> Slash repo. --> Are we clear? --> So Docker tag. --> The image 01 colon latest. --> And in here. --> And I'll paste it for you also in chat. --> And given some image version or latest you can say anything. --> And you can say version point two for example. --> So in this syntax. --> Modify your repo name. --> Modify this from this what I've pasted you. --> And run this command. --> Modify your repo complete repo name. --> With what I've given to you the same syntax. --> And run it. --> And again do a Docker images. --> And let me know what happened. --> No no no. --> What is the name you gave before? --> You have not done it properly. --> You have not committed properly. --> Docker commit you did. --> You have not mentioned. --> Can you go up again? --> Use the apparel. --> Please use the apparel. --> Use the apparel. --> No type in apparel. --> Use the apparel in the prompt. --> Yes. --> Yes. --> Once more. --> Once more. --> Not this command. --> Once more. --> Use the apparel. --> For Docker commit slowly. --> Go back to Docker commit command. --> Docker commit. --> Paste the. --> Type it. --> Docker space commit. --> Can you type in otherwise? --> Type it. --> Space commit. --> Space commit. --> Space the container ID. --> Paste it. --> That A3 5. --> The A3 5 you see in the top. --> Yes. --> Yeah. --> Yes. --> Paste it. --> Don't press enter. --> So now give a space. --> Space. --> IMG01. --> IMG01. --> Hello one. --> Press enter. --> Press enter. --> Now run the tag command again. --> The same which you ran before. --> Just run the tag command again. --> Yes. --> Now do a Docker space images. --> Yeah. --> Okay. --> Are we good? --> You said top one. --> The first one. --> First one is what is being tagged to. --> Okay. --> Others. --> Are we good? --> I think Charles is stuck somewhere. --> Okay. --> I think we're good. --> Let's last one is Jean. --> 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 the syntax. --> So it says Docker push and option in the name tag. --> So it means that you can use the same command just for your tag. --> And just mention the destination. --> So you 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 once just do something like this. --> Okay. --> It's good. --> Okay. --> I'll tell you what to do next. --> Now what is. --> Okay. --> Log in. --> Give your username. --> Which is signed up for a Docker Hub. --> Use the username. --> And enter the password. --> For Docker. --> Docker Hub account. --> And press enter. --> So authenticate by using Docker space. --> Log in. --> And then execute. --> And then do a push. --> Now 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 you can see it. --> 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. --> Please 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. --> Do you see the image there? --> 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 the chat history. --> Run the command. --> And try to get a container from it. --> Do a clear. --> See it will not be always in the docker. --> Just type in cd. --> Type in cd. --> Press enter. --> Now try to copy what I gave in the chat. --> The chat I have given you. --> Pull command. --> Pull mine. --> Run the command. --> Copy and paste the command. --> I am not sure. --> Why are you typing everything manually? --> You are not able to copy and paste. --> How come? --> It must work. --> Others? --> Ok ok. --> I am not sure. --> It must work. --> Others? --> I have to copy and paste. --> From your chat history. --> Ok. --> Experiment the next one. --> Let's see. --> Ok. --> One second. --> Docker space login first. --> I am asking you to login. --> Do a docker space login. --> Authenticate. --> Ok ok. --> Sorry sorry. --> One second. --> I think I gave a wrong name. --> Sorry sorry. --> My mistake. --> One second. --> My mistake. --> Confirm. --> No. --> You type in manually. --> My name is wrong. --> See the spelling. --> Shake the nail. --> So I thought you copied and pasted. --> Spelling is wrong. --> Ok. --> Play around. --> Yes. --> Are we good? --> I am getting at the concept of how to work with containers. --> Ok. --> Now. --> One second. --> Download. --> This is. --> Whose screen is this machine right now? --> It is Jun. --> Jun. --> You are good now. --> So what you do is. --> So now you are inside my container. --> So now do LS. --> Do LS? --> No no. --> You are already in the container right now. --> Do LS. --> Type in LS. --> LS. --> LS. --> Not able to type it. --> What happens? --> Relong into it. --> I am not sure. --> That is some issue. --> Ok. --> 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 will be inside the container. --> That is an example. --> So example. --> If you want to create a container. --> I can also use. --> Like run-ip. --> Give the image name. --> The cat name. --> And the shell. --> So just create a container. --> I am inside it. --> There is a run-ip. --> So now if I come out of it. --> Do a docker ts. --> You will see a new container got created. --> So docker run-ip. --> Is a method in which. --> You will create a container. --> And you will be inside it. --> It is a container. --> And then you can do LS. --> Example.txt. --> And you can see my file. --> That is what I am going to do at your end. --> Okay. --> Are we good? --> Yes, we are good, Jun. --> So now do a cat. --> Of example.txt. --> No, no, no. --> You are already in a container. --> Please understand. --> The run-ip is already in a container. --> Do a LS. --> Do a LS please. --> Do you know how to type in LS? --> Okay, okay. --> Okay, okay. --> Charles, are we good? --> No, what are you trying to do now? --> Do a control C. --> What are you trying to do? --> Do a control C. --> Type in clear. --> Please type clear. --> What are the previous comments? --> Just use the up arrow twice. --> Use the up arrow twice. --> Press the up arrow. --> On your laptop. --> Up, up. --> Up arrows. --> Yeah, yeah. --> One second, one second. --> So what are you trying to do? --> Did you create a container? --> Did you push it? --> Do docker have? --> Sorry. --> No success. --> Okay. --> Can you do a control C? --> Do a control C. --> Type in docker space log in. --> Docker space log in. --> Enter. --> One second. --> Yes. --> Now type in docker space push paste. --> Copy the report. --> The top report completely. --> The charts. --> 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 to next push. --> Now right click there. --> Type in docker space push. --> Docker space push. --> Paste. --> Where the pointer is there. --> Not there. --> Exactly location. --> Yeah. --> Right click. --> Copy it properly once more. --> You just need to highlight what you want to copy. --> Yeah. --> It's copied. --> Enter. --> No, no, no. --> Sorry. --> Use again apparel. --> Use apparel. --> Yeah. --> Thank you. --> Here there are items again. --> Then in the next, --> No, no. --> Then in the next. --> After B it is 0, delete it, delete dot, yes 0, no 0, 0.2, 0.2 and rest of the documents --> here tag name, the tag name, so now refresh your browser, go to your browser, in dockerhub --> do you see the image, yes, this is how we work, are we good, ok, ok, team, this is a brief about the first one, any questions, any idea about how do you log into container, how do we do the operations, any questions, are we good, please confirm so that you can proceed, ok, ok --> that's what I see, understand, any next, 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 a lunch break after class, I'm not sure how does it work there, then 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, ok, ok, ok, ok, ok, ok --> after 30 minutes from now or right now when you want, that's my question, 12.30, you want 12.30, ok, so is it ok, we can give a 30 minutes break for lunch break, 12.30 to 1 o'clock, is that ok, 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 pm, will it be good, confirm by using thumbs up so that we are beyond this, everyone didn't get you, you mean to say you need more time, yeah that's why I'm asking you, that's why I'm asking, was it open, how much time you require, you need 1 hour or 45 minutes or 30 minutes --> ok, ok, others are we good, ok, but because what is happening here is you are 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, can we do it from, for 45 minutes, say 1, to 1.15, sorry, 12.30 pm 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, ok, fine, let's continue and then take a break, now what is Dr. --> So tomorrow if you want to create a file, so are you aware of any languages like Python or Java, do we have programmatic language, anyone in here, do you know Python or do you know Java or do you know C sharp, any languages, yes, no, do you know C sharp, so how do you write in your own contents, --> so we create a Docker file, BI 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, where is the path of your application, you can mention like for example --> you create a file called a Docker file and this use case is, you see it here, is to create your own IndianX 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 IndianX.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 the 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 IndianX I require a minimal OS file, so I am mentioning Ubuntu, so based on your requirement you have to use the appropriate instructions and the arguments and write like this, 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 are building, space dot, so it means that you are trying to run it in the present working directory, so when you run this you are running as a client, --> now the request goes to daemon, now daemon would look in for a file named as docker file, it will post on the file surface 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 like cache, cache means like a temporary storage, the other layers would refer those temporary layers, gets the information and uses 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 are done you can say docker space images and you will see a new image will about created, are we clear, everyone I will do a hands on now, do a lab now, lab 3, in 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 are somewhere do a cd and be on your host, --> so let's talk about lab 2, so lab 3 the word document, so we will first create a directory, I want to show the directory first, so you say cd project 1, so mkdir project 1 for example and go inside it, cd on your host, --> so now you want to get your own docker file in this location, so this is going to have these variables and going to start your apache, so we are trying to create your own container image for apache and these are the lines, --> so copy say as vi docker file, vi space docker file, copy this contents and paste it, copy this contents and paste it, --> copy and paste the contents, let's see we have to paste it everyone, --> ok, yeah then colon escape process, escape colon wq, yes charles you don't have to copy it, charles one second, vi yeah type in same, use app arrow, vi docker file, same command, enter, remove this, do a backspace, do a backspace, --> yes, now press 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, no you are not doing properly, --> go back, backspace, remove this, which one are you copying, ok let me, can you share screen using your from zoom, share screen, do you have option to share screen directly, --> let me give you access, charles, so which one are you using, because ok please share screen now, i don't see it, i just see your name, i don't see your screen charles share it, please share screen in zoom, yeah ok it's coming up now, yes now right click, --> copy the content, the chat, you see chat, you have some contents or a document, can you go to word document and see how we are copying it, please show me how we are copying it please, ok backspace, remove, delete, could you delete this, i mean not audible, is it because others can hear me, --> so can you go to document charles, charles we need help, i mean you need to do quickly, could you go to the word document, please share complete, charles sorry i can't understand you, so can you share your complete screen, where is the word document of the lab, yeah please first click enable, you see there is not enabled, one second, click enable editing on the top, --> yes now you can copy, till now you are not able to copy because of the enable editing, getting it, yes now you will be able to copy it, it's not getting copied before because you are not able to edit it, now right click, press space, ok 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, copy to notepad on your laptop, copy to notepad on your laptop, fine, now copy from here, copy the contents, yes, now go to your terminal, right click, paste, i'm not sure what i'm doing, just right click, ok, come out of this file, come out of this file, escape colon wq, no no, escape colon wq, --> now do a vi again, use the vi again, via the same app, yeah enter, i yeah right click and paste, ok i'm not sure, can you someone help them, help them, what's the problem, ok, maybe it is not allowing to copy from your office laptop or something restricted, ok, so can you proceed in the meanwhile, --> ok everyone, so now once you paste it, press escape colon wq, now to confirm whether it is properly copied, do a cat, do a cat of the docker file, you see, --> are we good till here everyone, yeah, so now want to build this, i see docker build hyphen p, again image whatever you want to give, image 02 for example, docker build hyphen p, image 02 and space, one space is there and then dot, the end of the command, --> docker build hyphen p, image 02, use the dot and press enter, so docker build hyphen p, image 02, whatever you want to give, image space dot and press enter, and you see the build would happen, the backend, --> yeah get it done, --> please confirm, are you able to get the image, ok, fine, next step is we might have to open some port, just checking to open a port, let me login once again, login to amazon and i'm going to give access for the port, --> so this is what the background server is trying to go inside, and you have all the VMs running in here, ok, so now let's see the traffic, i just want to check in the traffic is being allowed for all the missions, ok, so we just, one minute, let me just modify the, --> ok, my screen is not getting shared, ok, let me share my complete screen, ok, i think i'm finished, enter screen, is the screen all visible, ok, so i'm logging to this one, i'm checking for a port to be given, so that i can do the hands on, just trying to enable a port for you all, just give me a minute, i click on this, --> ok, 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, ok, i'm trying to open all ports so that we can quickly do the hands on, making all traffic, ok, make it all traffic, --> ok, 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, ok, i'm not able to do it, i think i have to modify the break into the backend, --> ok, so now you 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, 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.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, so 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'll be able to see your website, --> are we clear, a small example about how we can create our 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, Jean, Charles, and others, are we good, okay, so we'll take break now, and after break, i'll ensure that the port is enabled, we'll also see the output in the browser, so break for you till 1.15 pm, okay, or you want to come early, --> okay, break till 1.15 pm, thank you, --> now you have time, hi sir, hi, sir, we have to modify the ports, we have very restricted access, no, when i go to modify the security group, it's allowing me to add a policy, i cannot do it, i can't even one, 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, okay, if you can modify wherein security group with all traffic, it will be helpful for me to install everything, yeah, thank you, i'll wait for you, there's a break now, yeah, --> thank you, --> yes, --> everyone confirm as you're back from break, 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, in the break i informed the 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 you mentioned the browser, so we can say, and paste the public IP in the browser, --> you will be able to see, --> this is confirmed to be able to see this 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, but in the browser you can see, --> could all confirm please that we 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 this output, let's see, --> do this, --> curl, --> http colon double slash and the public IP of your VM, --> yeah good, good, --> Charles, type in curl, type in curl once more please, --> space, http, --> http, --> colon double slash, yeah, now the IP, --> type in the IP, --> 13213, is the IP right, please confirm and type it, --> something is wrong, --> you have come out to a server, --> Charles, --> login to your server first, --> SSH, --> go to the location first, no, no, you have to go to the location first, you can make it simple, --> cd, --> forward slash cd space forward slash home, --> go to the path, go to the path, please login to the server and do the check, --> the setting is wrong, this home, --> cd forward slash home slash student, --> cd forward slash home slash student, --> you can do a single one, one second, one second, do a list, do a list, --> no, no, no, you are in the wrong path, Charles, please be in sync, --> please do a list in this location, --> do a list, you are still not in the right location, --> 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, --> so Charles, you have to be in sync, please, --> please understand --> the commands, this is your syntax, --> spelling is wrong, --> ubuntu, --> be for boy, --> ubuntu, --> space, --> su, --> su, --> space, hyphen, --> one space and hyphen, --> hyphen, --> enter, --> yeah, now do the curl command, --> curl, --> http, --> double slash and the public IP, --> http, double slash, --> enter, it means that something is not done properly, --> what is done, can you go to, --> do a ls, --> do a ls, --> yes, where is the, go to project one, --> the cd, go inside it, do a clear, --> have it clear, please go inside the project, --> cd, project one, enter, --> do a ls, yes, do a docker --> space images, now 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, --> type in docker space images, --> docker space images, --> type clear, --> c-l-e-a-r, --> I can't see it, so now, --> do a vi, --> docker build, type in docker build, --> docker build, --> build, --> v-u-i-l-d, --> build, --> v-u-i-l-d --> space --> hyphen t, --> t for tango, hyphen t, space --> img01, --> 02, --> img01, --> making any name, --> okay, just type in --> img, yeah, space, --> space dot, --> yeah, enter, --> is the image getting pulled, --> yes, now, --> come down, --> type in clear, okay, now, --> images, --> enter, --> now, do a docker, --> hyphen d, --> space, --> hyphen p, --> hyphen p, space, --> 80, --> 80, no, 80, --> 80 number, number 80, 80, --> colon, 80, colon, --> after 80, colon, --> no space, shift and semicolon button, --> colon, 80, --> 80, 80, --> number 80, --> space, --> nginx01, --> no, no, no, why are you giving --> space? --> yeah, enter, --> right, now, --> do the curl command now, --> do the curl command again, --> curl, --> http, --> colon, double slash, --> the public ip, --> type in ip affirmation, --> is ip correct, no, can you confirm, --> so I give you three measurements in lock-in, --> can you type in, --> ifconfig, --> ifconfig, one second, can you give the private --> type in 172, 31, 28, --> to 35, one minute, --> 172, 31, --> which message in lock-in can you confirm, --> 172, 31, --> 28, to 35, one minute, --> 172, --> 31, --> what is the private ip, --> 131, --> what do you see in the left side, --> 131, what do you see there, --> 28, to 35, --> 13, 2, 1, 3, 49, --> 12, okay, in the right mission, --> in the right mission you have done some --> errors in this checking, what could be the reason, --> one cylinder is checking in here, --> so my list number, --> type in --> dockerfile, --> dockerfile, --> dockerfile, --> cat, cat, cat, cat, cat, cat, --> C-A-T, space, Dockerfile, D-CAPS, type in that. --> No, no, no. --> Only D is capital, just file name. --> D, 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. --> Run, write an ID as 80, 80, equal to nginx 01. --> Something is wrong. --> Let me just check. --> I can see 80, 80, one minute. --> Nginx 01, all good. --> Something is blocking. --> So you have two images. --> So do a Docker PS F&A. Do a Docker PS F&A. --> I think I've got to create in the back end, let's see. --> Docker PS space, F&A, F&A. --> So this is a mistake. --> It's not created properly of the previous ones. --> You see, it's not getting started. --> Now do a Docker start to a Docker start, --> yeah, first one, the first container. --> First container, yeah. --> Double click, yes. --> Just copy and paste that, yes. --> So this is your second container, press Enter, yes. --> Now do a Docker PS. --> Now do a Docker PS. --> It's not starting. --> Something you have done, not for some reasons. --> Start, five minutes back. --> It's not starting for some reasons. --> So do a service. --> Service type is service. --> Now service. --> Service, S-E-R-V-I-C-E, service, service. --> E space, Docker. --> Space, start, Enter, yeah. --> Now again, do a Docker PS hyphen A, 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. --> OK, I'm not sure. --> So the some reason is because the container's not --> getting started for some reasons. --> I'm not able to start it. --> Might be you did some mistakes with 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, not this one, another one, another one. --> Docker PS, Docker space PS. --> Space, close the brackets. --> Close it. --> Enter. --> Yeah, now use apparel. --> Use apparel once. --> Apparel on your laptop. --> Apparel. --> Yeah, instead of stop, make it RM. --> RM. --> RM. --> And inside, go inside. --> And instead of PS, use PS space hyphenate. --> He lets the PS be there, one space. --> And after PS, one space, and hyphenate. --> Space hyphenate, yeah, hyphenate. --> Yeah, enter, OK. --> Now, now control C, try and remove 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 nginx01, enter. --> Now do Docker PS. --> Let's see if this will start. --> OK. --> OK, I'm not sure. --> For some reasons, you're continuing --> on setting start it. --> So something, can you open Docker file again? --> Something on this 10 now. --> Cat, do a cat to Docker file. --> OK, or can do a history, please? --> Do a history, type in history, enter. --> OK, come down, come down. --> Control prompt, control C, do a clear. --> So try to do a Docker PS, hyphenate. --> Docker space PS hyphenate, now start it. --> For some reason, it's not in start it. --> Might be your servers or something, a problem, I feel. --> So Docker start the container ID. --> Yeah, so do a Docker PS, Docker space PS. --> OK, last try. --> Service, Docker restart. --> Service, Docker restart, space restart. --> So now I'm going to do the same thing, do a Docker start. --> Docker start command, start and the container ID, enter. --> Yeah, do a Docker PS, OK. --> 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 confusion, choose yes, why? --> Yeah, again, do an apt, space, install Docker.io. --> Something has gone, something has gone, .io, enter. --> OK, type in clear, nothing in the 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. --> Run the next command for starting your container. --> Once again, 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. --> OK, I'm not sure. --> There is something that's happened. --> Might be, can you do the second machine --> and do the steps from the first? --> Yeah, yeah, yeah, yeah. --> The VM2, I've given you. --> OK, so apparently I'm going to talk about the backend. --> Something is wrong with VM something. --> Let me check to get on the break. --> Yeah, so can you do it offline? --> I'm going to stop sharing. --> Yes, yeah, you can share. --> OK, let me get the control. --> You don't see the screen now? --> Can you all see my screen now? --> OK. --> We're going to start it. --> Others, are you able to run this? --> Did you all get the output of public app in the browser? --> Did you all get the open page in the browser? --> Please confirm the chat, please. --> Sorry, is it your screen? --> Jin, correct? --> So do a curl. --> Type in curl, curl, no, curl, curl, curl. --> C-U-R-L-H-E-T-P, colon, double slash. --> Yeah, and public app, public app. --> Yeah, in the one which is this machine, public IP, --> this machine, when you're logged in, --> have a local host. --> Enter, it's coming. --> So it is your public app, it means the machine, --> the local host in which your machine installed. --> We're talking about that public app, clear? --> Yeah, so I think. --> OK, good now. --> To proceed, the next is your lab --> in which you're able to create the image. --> And you can go and make changes --> if 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. --> OK. --> Copy and paste in this. --> Full. --> Or more. --> And then I say patch. --> So now I go to location. --> VAR www.html. --> Yes. --> And inside this, we have a file. --> So I would say app update, for example. --> I want to install Vim Editor. --> I'm just trying to play around. --> So I'm going to say, install Vim Editor. --> So whatever contents were there in the index files --> are going to come up. --> I'm trying to modify my own custom. --> Entering Vim Editor. --> And now I'll say, vim-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 your Apache page. --> See this? --> This is your 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 it to. --> Let's save this sharing once again. --> Over there, I'm going to be working with it. --> I'm going to use it from here. --> So let's see. --> Yeah. --> And this is k colon wk. --> So now if I refresh it in here, you see the contents are getting modified. --> So a small example in which I am trying to update the contents and you see the contents are getting immediately updated in the browser. --> Did you understand what I did now, everyone? --> A simple example. So like this, you do some test and then you can push it to the repo. --> Okay, a task for you. I want you to do yourself. Let's see. I want the image which you created to be pushed to the repo. --> So you have in this image which you tested right now. I want you to push this image to the Docker Hub with the same repo which you did before. --> Is this task clear for everyone? I want this image to be seen in your Docker Hub. So it must come into your Docker Hub. Please do it. --> Yes, please start. Confirm once you're done. I request you to reinstall on a different machine, Docker, and check as it works. --> Please be aware of how to do. Let's see. Try to do the same. Try to tag it and push it. The same which I did before. --> Try to tag the image and push it to a Docker Hub. So do a Docker space tag. No, no, no. First you tag it. Tag it. --> Docker space tag. Copy the repo name, IMG01, 02, sorry, 02, and space your repo name in your Docker Hub, the complete name, which has your name Docker Hub. --> Yeah, colon. You need to have a name there. So after this, colon, colon, what name you want there? You can say that latest something. Yes. --> Good. Press enter. --> Now use the up arrow. Instead of tag, just use a push in the same command. Docker push. Yeah, remove the word. Yeah, there. You need not even have the image name. --> Image is not required. One more space. Delete it. No, no, no. Not required. Not required. --> Delete one space. Delete one space. --> Yeah, press enter. So now wait for some time. --> It's going to push this image. --> Every layer getting pushed. Now go back to your repo. --> And check if you see, refresh your repo and do you see a new image? Please confirm. Yes. Yes. Yes. This is an example about how you pushed. --> Okay, so now coming to gene, the same. Yeah, good. --> Colon, colon, gene, the end, press type in colon, colon, shift and semicolon button. --> Type in colon. Yeah, give some name. Yeah, the name what you want. --> So the image is local. You want to see the image, the new name in the browser. Okay, want to get same name. No issues. Press enter. Now do push. --> Use up arrow. --> Okay, that's fine. Whichever you want. Yeah, copy the complete after gene. Copy from gene. --> Copy and paste from gene. Yes. Enter. Yes. Now refresh your repository in your Docker Hub. --> We'll be seeing a new image now. You see this? --> Refresh. Yeah. Yeah. --> So it means that others can start using the image which you tested. --> Yeah, it's a simple process. So we were able to create an image. --> We saw that it worked in the browser and we shared with others. The others can start using the image. --> This is how enterprises, your SMEs would create an image and give access to you all. --> And then you start doing the same. Yeah. --> The last CK. --> Are we good? Okay. Okay. --> So in case you feel that it's taking more time in the lab, you can also observe mine and ask questions. --> Because sometimes the time and your speed and because of Linux issues you might be having. So I want you to ask questions. --> So I think we're good with Docker 5 now. --> Now next one is Docker Compose. So what is Docker Compose? Let me give an example. --> Now have you heard about the application WordPress? --> WordPress. What is WordPress? Anyone? WordPress application. What purpose we use this? Anyone? --> Okay. Do you all work on? Do you all know what's a blog? Everyone? What's a blog? Blog? --> Yes. No. A blog in which you would write in some content. Correct? --> Technical blogs. --> Website. --> So this will have two services. It will have WordPress and it uses MySQL. The blog, the front end is WordPress container and the back end is MySQL. --> So both needs to work together. --> So I have C1 and C2. So I can allow them to work together easily. --> That is Docker Compose. --> Are you understanding? --> If I have two containers and I want the two containers to work together, then I can use Docker Compose. --> Does it make sense? Everyone? --> I can put in the concentrations of both these of WebServe MySQL in one single file and they run together. --> So this will make my application. This is called Docker Compose. --> So using Docker Compose, you create templates and you can reuse the templates for different environments. --> So example. --> Now if we go to contents, we're talking about the lab. --> I use simple lab, lab four. --> This is my use case. So I have two containers running on. So host means node means on your host mission. --> I have two containers, WordPress and MySQL. --> And I want them to work together. --> And I also have a database. This is a container for database. I have a storage on my host. --> So even if I lose my container, I can still have the data on my host. --> So whenever you have something like this and you have multiple containers, you want to work together, then use Docker Compose. --> For this, I install Docker Compose. --> And we confirm Docker Compose version. --> And then what I do is create a WordPress folder. --> And inside that, create a YAML file. --> And I will call out the details of both the version of your Docker Compose file services. --> I'm first defining my DB details, which DB all the information. --> And we also define volumes. --> Sorry. --> Please speak out. Oh, OK. Voice problem. OK. --> So I've stopped my bandwidth for some reason, because using so much of bandwidth, we're also having labs getting more bandwidth. --> I've stopped my webcam. OK. --> OK. Did you understand what I explained till here? --> OK. Let's go step by step. --> First, can you all open the document of lab four? Open lab four document. Is it done? --> Now go down and run this command. Copy this complete command. --> It's going to download Docker Compose software. --> Go to terminal B under CD. --> Type in CD. --> It's been a default once. --> And paste that command. --> Paste it. --> And leave it. It will have something like this. --> And now you want to run this command. Copy. --> And paste. --> Now let me know the Docker Compose version. --> Confirm the Docker Compose version. Once you're done. --> The steps. Two commands. First one is to paste in the chat, please. --> What a version you see in the chat. Everyone 28.5. OK. Others OK. --> So this is how it installs. So what happened in here? --> This command downloaded the Docker Compose software from this location. --> Based on your architecture. So your name is a command in Linux to give you the kernel details. --> So based on your OS, it went ahead and download the software into user local bin Docker Compose in this location. --> And it does not have execute permissions. --> So we give execute permissions and hence we're able to see Docker Compose. --> Now type in Docker-Compose and press enter. Type in Docker-Compose and press enter. --> Now these are the commands which you can use for Docker Compose. You can use build, config, create, down, even, exec. --> All these are the commands which you can use for Docker Compose. --> So now. --> Create a directory. --> So create a directory for WordPress, for example. --> For Word, simple. --> Create a new directory. mkdir space word. Go inside this. --> cd word. --> And now copy the YAML file contents from the document. --> So copy the contents first to a notepad. Copy this to a notepad. --> It looks something like this. Let me explain. --> So you see double quotes. --> Could you please remove the double quotes? Word content copied like this from the terminal. --> So copy it, remove it and add the double quotes manually. --> Copy the YAML file contents from version till the end to a notepad. --> Till here it's supposed to copy. --> And after you copy it, go back to Docker and remove the double quotes and manually add the double quotes. --> Is it done? Okay. --> I'll be aware of how to use YAML. --> Do you work on YAML? Or no? Have you used YAML before? Or no? --> Anything is okay. If you want to use YAML file, let me talk very brief. --> So when you go to contents. --> In module 1. --> I give you YAML. --> So YAML is a language like JSON using which you write in the configurations. --> So YAML is for configuration language. --> So we can use XML, we can use JSON. --> The latest one is YAML. --> So YAML would look something like this. --> So example, you want to write YAML. --> This is how you write XML. --> This is how you write JSON. --> And this is how you write YAML. --> In YAML, you'll be having a heading. --> And if these all belong to the same level. --> Key, one space and value. --> Key, one space, value. --> Key, one space, value. --> Write something like this. --> So all of the key values press. --> Using arrays, it looks something like this. --> Actually it looks something like this. --> We have to write something like this in YAML. --> Docker compose requires YAML. --> And this is wrong because Indonesian is wrong. --> So you have to be very careful with Indonesian. --> So this is how YAML looks. --> So this now going to your Docker is a copy to a notepad. --> Let me explain to you what exactly is this happening. --> This is your version number. --> For Docker compose a file with version number. --> Docker services is a DB service. --> So this will go ahead and download the MySQL image from Docker Hub. --> And you go down you also see that a volume you're having. --> So this volume would get created on the host. --> And this volume was getting mapped into the container of database. --> It means what a change you do in this location of containers also get mapping on your host. --> The first component is your host. --> This is on your container. --> Restart always. --> Restart always is a parameter in Docker or container word technology. --> In which it will restart the agent in case there's a problem in the container. --> And these are variables for your password, username, and these. --> You're mapping your wordpress in here. --> So you're mapping them because of your variables. --> So you're calling up this in here and this in here something like this. --> And then you're saying wordpress depends on. --> So first this will get created, a DB. --> Then the second can get created. --> Depends on DB. --> It means once this is created it will get a new container. --> And which port you want to allow? --> Port 8000 on the internet and port 80 is in a container. --> So now I'm going to run this file. --> Copy the file. --> Run this. --> And run a file in a file called docker-wimp-docker-compose.yaml. --> Go to insert mode. --> And then say I want to paste it. --> I want to run it. --> So now I'll escape colon WQ. --> And then I'll say docker-compose up. --> Up means run it. --> Hyphen D in the background. --> Detach mode. --> So run it. --> It goes ahead and runs all those commands to pull the images of your MySQL first. --> It runs it. --> Then it will install your WordPress as per the lab it depends on. --> And it will create all the environment variables in the backend. --> In a container. --> So all steps have been done. --> Just observing here. --> So now if I do a docker images. --> You see it downloaded the images of Ubuntu and MySQL. --> And you see also WordPress. --> All this got downloaded. --> And if I do a docker ps. --> This will be the containers of MySQL and WordPress. --> So now what I do is the same which I did before. --> Instead of 80 the default. --> I'll say port number 8000. --> And you see the applications coming up. --> So frontend is your WordPress. --> If you do something it will also have a database in the back MySQL in the back. --> Yes. Did you understand? --> The lab. Everyone. --> The flow clear. --> So tomorrow if I want to recreate my application. --> I have the template. --> I can again rerun it. --> I can make in some different images. --> Configurations. --> So this is how I can use the same template to create multiple. --> Examples. --> Multiple use cases for a dev. --> Test. --> Please do it and confirm once you're done. --> So Charles is working now on a new VM. --> Some. --> Yeah. --> So. --> So be careful when you do something. --> Because sometimes ransom command directly on the force of these. --> It might get corrupted. --> So when you before on any command be careful before on the commands. --> Thank you. --> Jimmy. --> I don't see a screen. --> I'm not sure. --> I don't see June screen. --> I see one day a white screen. --> What happened? --> Are you putting a system or something? --> OK. --> Do the lab. --> The lab is done. --> Yes, Charles. --> Now access the public IP. --> Cool. --> 8000 in the browser. --> HTTP. --> We're going to locally also HTTP colon double slash public IP colon 8000. --> Yeah. --> Yeah. --> I'm talking to you. --> So what I'm saying here is. --> Now. --> Flash public IP colon 8000 in a browser or on a local machine. --> And do you see the book presentation? --> This is something. --> You know, I see it because it's your. --> You know, if I say the public IP minus, for example. --> Local host also. --> The name local host was in here. --> Curve. --> Local host. --> Now I'll say local host colon. --> So either you can do public IP or you can say local host on your local. --> And then it will not come because the word doesn't come up. --> So you can see the browser. --> Are we good? --> The lab. --> OK. --> Now let's see some commands. --> So now there are different commands using which you can work with Docker Compose. --> We can use up. --> We can use PS. --> Stop. --> Locks and down. --> Let's play around with this. --> So let's do some operations. --> So now. --> Do a Docker Compose. --> So instead of using Docker images, I can see all those things using Docker Compose. --> So if I can use Docker Compose images. --> So these were created using Docker Compose. --> You don't just want a Docker PS, but a very specific one to understand what a Docker Compose you can say Docker Compose images. --> I can use PS. --> So I can see all the information that got created using Docker Compose. --> Now, for example, once the logs of it. --> Do a Docker Compose. --> And save logs. --> You can see all the logs of the environment. --> Are we clear? --> Everyone. --> OK. --> Now the next one. --> Now let's do a down. --> So I don't want this now. --> I want to terminate. --> So I can say Docker Compose down. --> It is stopping your containers. --> Now you go and refresh. --> It's not that. --> It's gone. --> Now just make it up. --> Just up. --> Observe it. --> See, just make it now say up this time. --> It will happen so quickly because it is having a copy on your host. --> So what do you do? --> Because it had a copy of the data on this location. --> A copy of the data on your host under db underscore data. --> Could you tell me where would this folder get created? --> In your host? --> In which location? --> Which path? --> We're not getting the path. --> Where does it get created? --> Anyone? --> The db underscore data on your host. --> Where did it get created? --> In which location? --> Esteem, the db underscore data is going to get in which location? --> What do you think? --> Which is your default directory of Docker? --> With the default directory of Docker? --> Yes. --> So go to the location. --> Where? --> Left? --> Docker. --> And under that you have volumes. --> And you see this here the word db data. --> And under that you have data. --> Keep on going inside. --> And you see this is the contents of your container. --> So even deleted you see that WordPress contents are there inside. --> The contents get mapped. --> And if you don't want these contents also. --> You can go to word. --> And you can also do a docker compose down. --> If you don't want even data in here. --> You can say docker compose down. --> Type in the volumes. --> Determine everything will get terminated. --> Even the data in the backend. --> Once I do a down. --> Last command in the document. --> Type in volumes. --> Run it. --> Remove everything. --> So now if I go to where? --> Docker. --> And if I. --> WordPress. --> You see here. --> Go to volumes. --> Under volumes I don't see the wordpress folder. --> It's gone. --> So if we just make it down. --> You will still have the data on the host. --> If you don't want even that data on the host. --> You need to use hyphen and volumes. --> It will delete the volumes even from the host. --> Have a good. --> And so much you're done. --> I think Joan you're good. --> Any questions? --> Okay. --> Good. --> Charles are you good? --> Charles. --> Yeah. --> Because you came out of server. --> You were in your window. --> You had to log into server. --> Be careful. --> So you have to again do SSH hyphen I the key and all. --> Are you getting it? --> You're not inside the VM. --> In which you did your Docker lab. --> We got it. --> Same steps. --> How do you can do initially. --> SSH. --> Hyphen I the key. --> Connect to the server. --> Log in a server. --> No, no, no, no. --> One space. --> Space. --> Initially after. --> H space. --> One space. --> Yeah. --> I think. --> Okay. --> At public IP. --> Now pseudo pseudo hyphen. --> Pseudo. --> Pseudo. --> SU. --> Pseudo. --> Space SU. --> SU. --> Space hyphen. --> Hyphen. --> Enter. --> Yeah. --> Now. --> Do LS. --> Check whether you have word folder. --> LS. --> Let's enter. --> Where did you create the word folder? --> Which location? --> I think it must be in the project one. --> Go to project one. --> CD project one. --> I think it is there. --> Enter. --> Project one. --> YS. --> YLS. --> Where is your folder of word? --> Where did you create it? --> It didn't get you. --> Why again doing it? --> Others are you good? --> Go next topic. --> You are looking different folder. --> Even different folder. --> You are wrong. --> What is the word folder? --> We created before. --> It is not there. --> Get one please. --> MKDIR. --> MKDIR. --> Space word. --> Yeah. --> Can you confirm the word? --> Yeah. --> Any name. --> Can you confirm Docker Compose installed? --> Docker hyphen compose. --> Type in Docker hyphen compose and version. --> Hyphen. --> No space please. --> Not here. --> After R. --> No space. --> Hyphen hyphen space. --> Hyphen hyphen version. --> Space. --> One space. --> Hyphen hyphen version. --> Where is Docker compose? --> I am not sure. --> Where did you install Docker compose? --> Okay. --> Type in exit. --> One second. --> Type in exit here. --> Type exit once. --> Only once. --> Please type in exit. --> EXIT. --> Yeah. --> Now run the command Docker. --> Compose. --> Hyphen compose. --> Hyphen version. --> Press enter. --> Where did you create all the Docker version before? --> Check the Docker version. --> Check Docker hyphen version. --> In this location. --> Charles we don't understand anything. --> Charles where did you install Docker? --> In which location? --> Do control C. --> Type in clear. --> Okay. --> Charles I am not sure. --> You need help us. --> Charles. --> You need to let us know where did you install Docker. --> Which machine. --> Which location. --> Others. --> Are we going to proceed? --> Yes. --> Joan. --> Jean. --> I think you're good. --> Run it. --> Is it done? --> No. --> You must be in that folder. --> CD. --> Type in CD. --> Space word. --> It will be in your word folder. --> Wherever the Docker compose file is there. --> No. --> CD. --> Space word. --> W.O.R.D. --> It must be in the location where you have written the YAML file. --> In this location now. --> No. --> No. --> One second. --> Do a list. --> Do a list. --> Understood. --> So you have to do any operation of Docker compose commands from this location. --> With Docker compose. --> Yes. --> Volumes. --> Yeah. --> Now it will terminate. --> Because. --> Because it needs to understand the location of Docker compose YAML. --> Either you be in the location or copy the path of Docker compose YAML so that it understands. --> Okay. --> Are we good? --> Whenever you have use case in enterprise in which you have to create. --> Or integrate multiple containers to work together. --> Then you need to use Docker compose. --> But a single host. --> Is going to create all in a single host. --> Next topic. --> So do you work on networking and volumes? --> Everyone. --> Do you work on volumes and storage in your projects? --> Yes. --> No. --> Yeah. --> Yeah. --> In your office. --> Do you work on volume storage? --> Generally. --> Not Docker. --> Other technologies of storage. --> Do you work? --> Like. --> Okay. --> No problem. --> So let me talk about volumes. --> Very please. --> Now there are different types of volumes. --> So volumes means like a storage. --> So you can have in the storage of the container like now we did. --> You can have the storage of the container. --> Outside the container. --> On the host. --> Or you could have on. --> The memory. --> Or other one is managed by Docker. --> So it means for example. --> I can say to create a mapping onto a folder like tmp. --> You define it. --> This is called as a buying port. --> It is managed by OS. --> The other one what you like to create is your Docker area. --> So this will be under where live Docker. --> And the third one. --> You could also create in a memory. --> So to create the memory. --> Of the host. --> So these are different options. --> So tmpfs is temporary. --> For memory. --> And this is something which you cannot share. --> Between containers. --> Only for one container. --> And this is only for Docker Linux. --> It doesn't support Docker for Windows. --> So this is to have in the data outside the container on the host memory. --> And this is only for temporary. --> And you don't get additional charges for this. --> Because using memory of the host. --> You don't get additional charges. --> Buying mount is where in. --> You can mention the path. --> On your host. --> And this path would get mapped. --> For example if you have MySQL container. --> And I can say to map it to a location. --> Like slash tmp. --> On my host. --> So what do you make changes in the container. --> You could also get a copy in your tmp. --> And even if you delete the container. --> You still can dirty the data from India. --> It's a persistent. --> This is based on file system. --> And Docker volumes is what right now is our example. --> It will create automatically. --> Under where live Docker. --> And this is very much preferred. --> Because I can use the same volumes. --> For Windows or Linux. --> It doesn't depend on the file system. --> And I can easily take backups. --> Manage. --> Because all Docker based. --> Very easy for you to take a backup. --> If you want to do a list of the volumes. --> All these we can use Docker commands. --> So this is managed by Docker. --> Very good. --> It's as for both Linux and Windows. --> You can share this volume with multiple containers. --> And much more better performance. --> Rather than the buying mount we talked about. --> Doing this. --> You say Docker volume create. --> And give the name of the volume. --> So Docker volume create. --> It will create a Docker volume. --> And if you want to use this. --> Say Docker 1-90. --> Name. --> This is the name of the container. --> Which volume you want to use. --> This is the volume on your host. --> There will be Docker. --> And this is getting mapped to your container. --> Under off data center. --> So this is the name of the container. --> This is the container name. --> This is the image name. --> This is your shell. --> And this is your mapping. --> On the host. --> And this is on your container. --> Whatever change I do in the container. --> Under off data center. --> It will also get copied on to. --> My data. --> Any time you can see what is in Docker. --> You can do a Docker inspect. --> The container. --> Or Docker inspect. --> The volume name. --> You can see what exactly the volume details. --> Where it is getting created. --> All the information. --> The Docker inspect. --> This is the container name. --> You see that it has a volume name. --> This. --> There is a map driver. --> Local and the properties. --> You can create, list. --> The same Docker model here. --> You can remove it if you are getting used. --> You might want to remove the containers first. --> And then you can do it. --> And you can also run it using the Docker file. --> Let's look into this in detail. --> So let's go to Docker volumes. --> So you can see this. --> Let me use the keyboard, Docker storage. --> This is your documentation. --> What do you mount? --> Bind mount, gfms mount. --> Testing. --> So do you feel that this hands-on is required for you? --> On volume. --> Do you feel that it is required? --> Then we can do it. --> If you feel that it is not required, you can skip the laps. --> Just for you. --> Because I want to understand what is more important for you. --> Do you need hands-on on this? --> Or no? --> Please confirm. --> Do you want to do a lab on this? --> Or no? --> This is yes or no? --> Okay, okay, okay. --> Okay, okay, fine. --> Is the concept clear? --> Did you get the theory of it, everyone? --> Okay, assume that it is good. --> Networking, next topic. --> Do you want to have a break? --> Or do you want to continue the next topic? --> Okay, fine. --> Now let me now talk about docker networking. --> So what is docker --> networking? --> So when you install docker, --> it creates default --> networks. --> So now --> example. --> If I say docker --> network ls. --> You see it --> creates the default networks. --> And the first network is a bridge. --> Second host, and --> none, local. --> It means this is used only within --> the same machine we are networking. --> Not across the machines. --> All these networks are within your same machine. --> This is your network ID. --> So now if I say docker inspector --> and --> if I say bridge. --> Now this --> would give an IP address. --> You see here? --> 172 17 --> 0.0.16 --> So this is the --> network from which --> containers get IP address. --> So all the containers --> get attached --> to a gateway of this bridge. --> The first one would get a gateway. --> And all --> the containers would be attached to the same --> gateway. --> And other container would get 020304 --> like this. --> That is what a bridge network. --> So in default we create your default networks --> or your own networks. --> In a bridge network, --> which we observed, the network --> ranges 172 17 --> 0.0 --> 16. So this will get an IP --> of 172 17 --> 0.1. --> The first one. This will get the --> second IP, third IP, fourth IP --> like this. And they all --> connect to this gateway. --> So gateway is the connection --> to a network. --> Are we good? --> So this bridge network --> gives IPs, MAC addresses --> all these things for your containers. --> And now when I do a docker --> inspector bridge, you see that --> I can see all the containers listed. --> See 1 --> 2 3 --> I have 3 containers now. --> And all these 3 are connected to the network. --> Are we good? --> Please confirm. --> If any doubts you can ask me. --> Now let's do an inspector container. --> I say docker --> inspector --> The first container. --> And you see the container's IP address. --> It gets a MAC address. --> And connects to a gateway. --> So --> this is what we are talking about --> using networking components. --> So this is what --> your bridge network provides. --> Any questions? We feel that --> not clear you can ask me because we have to proceed. --> Silence sometimes doesn't make me --> understand if we are good or not. Which format? --> So docker --> inspect space the container --> name or the ID. --> And in that I go and see the network portions. --> Yes, so your question is can we --> modify network of --> network for containers. Is that a question? --> It depends on your --> organization. Sometimes --> they say that --> if you want to --> this is a default. But tomorrow --> you might get a requirement that your --> container application --> has to be --> on a specific network range. That is --> they might ask that you need to have a --> different network in this range for example. --> Getting it? --> So tomorrow then you have to create a new --> network --> and then create a container in that --> network of 192. --> If you don't change the default --> it gets 132 --> this range what I just showed you. --> But in case you want to contain --> a different network --> then you have to say docker --> network create --> a network in that range and then get a --> container inside it. --> That's my answer. --> So in default it is not required --> it comes automatically. But --> still if you want you create --> a user defined network. You create --> something like that. --> I'll show you how to do it also. --> So in default it looks something like this. --> So docker 0 is the network --> which does all these in the default. --> And all these containers --> they can ping to each other because --> they all are connected to the same gateway. --> So example all these --> three can ping to each other because they all --> come to same network. --> So how do you do it? You can check it. For example --> I have in docker --> ps --> I'll log in the first container. --> So --> login to --> the first --> container docker exec hyper --> 19 and then --> hopeful --> hopeful is the IP of each one. --> Let's do the IP of each one. --> So I'll do a docker --> inspect bridge for example. --> And this is IPs. --> So 17234 --> So hopeful is 4. --> From this I'm going to ping to --> 17.0.3. That's my --> use case. So I'm going to --> login --> and ping to 172. --> So I'll say --> docker exec --> hyper 19 --> hopeful --> underscore --> 4 and --> I'm going to say bash. --> I'm going to use --> apt update again with install ping utility --> at install ping utility. --> And then I install --> ip utils --> hyper ping. --> So I ping in here. --> And now --> I do a ping --> five times for example --> to 172. --> 17.0.3 --> I'm going to --> ping because --> they are in the same network. --> Because they all connect the same --> gateway. They have to ping --> to each other. Are we clear? --> Yes. This is how --> the default works. But sometimes --> you might want to create your own network. --> It might be you want to --> contain a different network as a use case of --> your organization. So for doing --> that we create networks. --> What you create networks --> by yourself --> are called as --> user defined networks. --> So you can create a network --> by default. You can create a bridge network. --> Those are called as user --> defined networks. Let me show you how --> you do this. --> So user defined --> networks --> is the network --> which you create. --> You create a network. --> So example if you want to get --> a network you can say docker --> network --> create --> and we can give --> a subnet change. You can subnet. I can --> say subnet --> equals --> like 192 --> 168.0 --> and you also need --> to put the gateway. So gateway --> with the first IP --> equals 192 --> 168. The first --> IP in this 0.1 --> and then you need --> to mention network name network --> 1. --> So what will happen? You create --> network name network 1 --> with this subnet --> and this gateway. --> Then I can create continuous --> network. Let me show you --> small example. So to get --> all networks I can say docker --> network create --> and I give a subnet --> and I can say --> 192.168.0.0 --> slash 16 --> and the first IP --> will be --> 192.168.0.1 --> and then I give a network name --> that network 1. --> The network is created. --> How do I confirm? I do a --> docker network --> ls --> Let me make this font --> much more bigger. --> Are you able --> to see it clearly? --> The font --> is it good? --> Make it bigger still. --> It is 16 --> I can make it to --> 18 --> and select. --> Okay. --> So do --> network are created. So I can now --> do a docker inspect --> network 1 --> and you see it got IP in this --> range. --> Yeah. --> So if I want to continue this network what I do? --> I would say --> docker run --> hyphen d --> and I can say --> give a name --> for the container new --> and I can mention --> network name as --> network 1 --> and then the image. --> I create a --> container with name new --> in this network. --> And now I will do a docker --> inspect --> the name of the container --> and you will see the container --> got IP in that range. --> Are we clear? --> Yeah. --> So we can create any networks --> any range and get container. --> These are called as user defined --> networks. --> Are this --> are we getting it? What is defined --> and user defined networks? --> We are going to do a lab. --> I want to give some time for a lab. --> This observe right now. --> We have a lab now. This observe right now. --> We have a lab time. --> You want you can do it. --> You want you can do it. It's up to you. --> Okay. Now the next one --> learned about what is user defined --> and this. --> So now if I have two --> networks right now in your host --> can this and this --> communicate now? This is my machine which --> have two networks. This is network 1 --> and this is network 2. --> A container in this --> C1 and C2. Can they communicate? --> Can they ping each other? --> What do you think? --> Session clear? Everyone please try to answer. --> Two networks. --> Network 1 and network 2. --> Can they communicate --> each other? Yeah. --> And this is no. --> This is no. --> This is networks. --> So in case if you want to allow --> them to communicate --> we have to use --> something called --> Docker Network Connect. --> So you can allow them to communicate --> by using Docker Network Connect. --> Wherein you can --> mention that you want this container --> if you have C1 --> and if you have C2 and C3 --> for example in this network. --> You can say --> to connect C1 to these. --> So once you say this --> C1 would get --> secondary IP in this --> range. --> So you say Docker Network Connect --> C1 with this network. --> Network 1. --> The C1 --> would get a secondary IP in this range. --> And they can connect to each other. --> So what I'm saying let me draw and explain. --> And this is --> my host machine right now. --> And I have two networks. --> Network 1. --> And I have network 2. --> I have two containers in this --> C1 and C2. --> And I have C3 and --> C4 in this network. --> This network range --> is 192, 168, --> 0.0 star 16. --> And this network range --> could be something like this. --> Now these two would get primary IP from this. --> They communicate. --> But this cannot communicate with this --> because we don't have a network. --> But my use case is --> Can it communicate from this to this? Yes you can do it. --> For that you say a command --> Docker Network Connect --> You cannot mention the complete --> bridge. You have to mention the container --> C1 and say --> that I want to connect to network 2. --> Rather than --> this command. Once you run this command --> C1 would also get --> an IP in this range. --> So it will have a secondary --> IP in this range. --> C3 and C4 --> and C1, C3, C4 --> they all can communicate each other. --> That's what we are talking about Docker Network Connect. --> I want you to do the lab --> together now. --> Can you do a lab 7 first --> yourself? --> Do a lab. --> Yes. --> One by one. --> See I cannot --> the Docker Network Connect syntax --> does not have a bridge. --> You cannot mention a network --> name there. Let me show you the syntax. --> So do a Docker Network Connect. --> Example. --> Just syntax. --> The syntax says --> you have to use one network --> other side container. I cannot mention --> both network names. --> Getting it? --> Yes. --> Yes. Yes. --> I can mention one container. --> It doesn't have allowed network to network. --> There is no communication. --> So what will happen? --> This container will get typed in this --> and then we can connect it. --> Now I want to play around. --> Take some time. Do a lab 7 first --> yourself. --> Do a lab 7 in which --> you create a network. --> Play around with lab 7 first. --> And then we will do a lab. --> Or if you go to lab 7 you can go to lab 8. --> Are you good with basics? --> Do you understand what I did there? --> No? --> Are you ok with that? Do a lab 8 everyone? --> Yeah. --> Let's do a lab 8 directly. Let's do lab 8. --> Ok. So go ahead --> and create a network. --> Bridge. Bridge 1. It will pick up some --> range. --> And inside this you create two containers. --> Using run hyphen IT. --> And try to ping --> each other. Ok? --> I want you to do this lab. Let's do this. --> Do this. --> Let me know if you have any questions. --> Lab 8 yourself. --> The two networks bridge 1 and bridge 2. --> And allowing containers from one network --> to communicate to other containers in the other bridge network. --> Please do. --> Lab 8.