 This video is intended to give a quick overview of the features in the VS Code Docker extension. I'm going to start with a very simple Node.js Express app, and I'm going to add a Docker file to this application using the VS Code Docker extension. I'll go ahead and bring up the command palette, and we'll type in Docker add, and you'll see we have a choice there to add Docker files to the workspace. I'll go ahead and select that. And now I'm asked to select my application platform, or basically my language and any stack I may be using. So I'll go ahead and choose Node.js. And then I'm asked, do I want to include compose files? If you're not familiar, compose is typically used if you want to start up more than one container at the same time using the compose up command. We're not going to use that. We're going to go with a single container. So I'll choose no for now, and I'll choose the default port 3000. All right, and with that, you'll see a Docker file has been generated for us. You'll notice a couple of nice things, some nice colorization here of the keywords in a Docker file, as well as if I hover, you'll see I get help text for that keyword, as well as I can go right to the online documentation to read even more. The other thing I get is if I do a new command, like let's say I need to copy something else, I get IntelliSense, which tells me, hey, you need a source and a destination. I can tab and then fill in my source and destination. So the extension provides you some real nice Docker file editing capabilities. Let's go ahead and keep what we had. And then now that I have a Docker file, I want to build it. The extension helps you with that, too. I can just come here and do a right click and say build image. And you'll notice we put out the we output the command that we're actually running. I'll scroll back up there real quick to show that so that you can see the command that we're running. And then the build occurs and that happened really quick. So we should have an image created for us. So we can go look at that image real easily by clicking over here on the Docker whale that shows up after you install the extension. And here you see we have a couple of images. We have the node image that was pulled down as part of our base image in our Docker file. And then we have the image that we just created a few seconds ago, which was the MyExpress app. Now let's run that image. And when you run an image, it spins up a container. And we'll see that container show up here in the containers panel. I could go to the command line and type in the Docker run command with the various flags, or I can just go here and use the extension to help me run this and just do a right click run. And you'll see the command that we actually generate is the Docker run command using that latest Express app image that we just built. And we include a couple of flags so that the ports get mapped appropriately. And now you'll see our container is running. And in fact, I can do other things with that container. I can right click there and I can view the logs of that running container. So I right click view logs. Nothing interesting yet. Let's actually open a browser and see our app in action. I can do that by opening the browser manually or take advantage of the extension again and just do a right click open in browser. That's going to open up our browser. You'll see our Express app. It's nothing fancy, very simple, but it's up and running. You'll also see the logs down below as I refresh this page. We're actually tailing those logs because I did the right click view logs command. So that's really, that's really handy. Another handy command is I can right click on that container and maybe do attach shell. This is a common thing. If you want to actually attach a shell into that running container, you'll see I'm now in that container. I can do a simple command like maybe list all the files and folders. Maybe I want to cat what that package.json looks like. Didn't quite spell that right. We'll fix that. And I can show what's inside any of those files, which is very handy. Maybe when you're looking through logs or something through like application logs that are on the disk in the running container. So again, you can right click on containers, do a number of things. I can start, stop, remove this. There's a number of things you can also do with an image, such as push an image up into a repository. We help you with that. And here you'll see the registries panel. I can connect up to a registry. I can choose to connect to Azure or to Docker Hub or many other Docker registries that support the V2 API. In this case, I'll go ahead and connect to Docker Hub. I'll give it my Docker Hub ID and I'll give it a quick password. And you'll see Docker Hub now shows up as a connected registry in the extension. I can expand this and you'll see that I have one repo called Big Morty. And I have a number of images that I've pushed in the past. Let's go ahead and expand these. These are, these panels are expandable. They're also, you can move them. You can choose to put them where you want. So that's something to be aware of. All right. So now we're ready to push that image. Let's just go here, do a right click push. We'll choose that Big Morty repo. You'll notice that the extension has noticed that that image is not tagged appropriately. And it's going to prompt you to tag that. Let's go ahead and change this to 1.0. We'll go ahead and tag that image. And then you'll see down below, we're logging into Docker Hub. We're pushing that image. That image will get pushed into Docker Hub. And then it would be available to deploy to a cloud or on-prem or wherever you need to deploy that. Okay, our image is pushed. I can go over here to the registries and refresh that. And we should see, there we go. We see our Express app that we just pushed up a few seconds ago. You'll notice there's other panels like networks, volumes and contexts. We will maybe cover those in some future videos. The extension also supports debugging your application. That's something I'd like to cover in a future video as well. Well, I hope this video was helpful. Thanks for watching it and have a great day.