1 00:00:00,050 --> 00:00:04,040 ‫If you haven't figured out by ‫now, I love Visual Studio Code. 2 00:00:04,400 --> 00:00:07,789 ‫In fact, if you look at some of my ‫original videos from this course, 3 00:00:07,789 --> 00:00:11,720 ‫back when I first created it, then ‫there's a few videos still around from 4 00:00:11,725 --> 00:00:14,060 ‫that time that I was using VIM a lot. 5 00:00:14,060 --> 00:00:17,810 ‫And I've been a VIM user ‫for probably decades now. 6 00:00:17,815 --> 00:00:18,140 ‫And that's. 7 00:00:18,800 --> 00:00:20,720 ‫As a sysadmin, that was really my thing. 8 00:00:20,720 --> 00:00:24,080 ‫I would always have to run stuff on ‫servers and edit files on servers. 9 00:00:24,080 --> 00:00:26,240 ‫So I was always using them ‫and I just got used to that. 10 00:00:26,639 --> 00:00:32,555 ‫It wasn't really until VS Code all the ‫other editors I've tried Atom and all 11 00:00:32,555 --> 00:00:36,665 ‫of the other paid editors and things ‫over the years, never really got stuck 12 00:00:36,695 --> 00:00:38,615 ‫with any of 'em until VS Code showed up. 13 00:00:38,615 --> 00:00:42,695 ‫So I'm convinced now that for DevOps ‫and especially for this course, when 14 00:00:42,695 --> 00:00:46,335 ‫you're doing Kubernetes and Docker ‫files and you're editing Compose 15 00:00:46,355 --> 00:00:50,105 ‫YAML, and all the things you'll learn ‫about in this course, that the easiest 16 00:00:50,105 --> 00:00:54,425 ‫way to do that is in Visual Studio ‫Code for a lot of reasons, most of 17 00:00:54,425 --> 00:01:00,225 ‫which are around syntax highlighting, ‫helping you see errors inside of those 18 00:01:00,225 --> 00:01:01,345 ‫files when you're typing 'em out. 19 00:01:01,345 --> 00:01:03,905 ‫Because it'll look and see if ‫the commands are correct or the 20 00:01:03,905 --> 00:01:05,135 ‫things you're doing are correct. 21 00:01:05,435 --> 00:01:08,645 ‫And it's just a good buddy ‫while you're learning as well as 22 00:01:08,645 --> 00:01:09,845 ‫just doing your day to day job. 23 00:01:10,055 --> 00:01:11,105 ‫So let's jump into it. 24 00:01:11,542 --> 00:01:15,892 ‫I'm not gonna talk a lot about the ‫internals or how to really use it. 25 00:01:15,947 --> 00:01:19,127 ‫I just wanna make sure that if ‫you're new to Visual Studio Code, 26 00:01:19,397 --> 00:01:22,247 ‫that you have a few of the basics ‫that you need to get started. 27 00:01:22,247 --> 00:01:26,822 ‫And then the extensions that will ‫really help you in this course. 28 00:01:27,372 --> 00:01:30,702 ‫Now you can just download it ‫from their website, right? 29 00:01:30,702 --> 00:01:32,902 ‫That's code.visualstudio.com. 30 00:01:32,922 --> 00:01:37,032 ‫You can go there and download ‫it for your local OS. 31 00:01:38,032 --> 00:01:41,632 ‫If you're on windows, you can ‫use the store to download it. 32 00:01:41,632 --> 00:01:43,282 ‫If you prefer the window store method. 33 00:01:44,282 --> 00:01:49,202 ‫You can even run it in a web browser ‫over at VS Code dot dev, which will just 34 00:01:49,202 --> 00:01:51,742 ‫run the exact same app in a browser tab. 35 00:01:52,242 --> 00:01:56,652 ‫If you're a GitHub fan and you maybe ‫are going to use it with repositories 36 00:01:56,652 --> 00:02:00,672 ‫on GitHub like this course, you ‫could just use it on GitHub. 37 00:02:00,672 --> 00:02:02,152 ‫You can type https://github.dev. 38 00:02:02,442 --> 00:02:05,652 ‫It'll give you some information ‫about how to use it inside of 39 00:02:05,657 --> 00:02:09,492 ‫repositories, right inside your ‫browser with the rest of GitHub. 40 00:02:10,492 --> 00:02:14,632 ‫Once you've got it running regardless of ‫how you want to run it, click the little 41 00:02:14,632 --> 00:02:17,002 ‫widget down there and you can log in. 42 00:02:17,032 --> 00:02:20,572 ‫No logging in is key here because ‫it'll sync all your settings so 43 00:02:20,572 --> 00:02:23,092 ‫that you don't have to worry about ‫backing them up because over time 44 00:02:23,097 --> 00:02:26,992 ‫you're really gonna end up with your ‫own custom configuration of VS Code. 45 00:02:27,262 --> 00:02:30,172 ‫So why not save those settings ‫securely somewhere since you 46 00:02:30,172 --> 00:02:31,642 ‫can get to 'em from any machine? 47 00:02:32,192 --> 00:02:35,042 ‫So turn on sync and you ‫should be good to go there. 48 00:02:36,042 --> 00:02:40,037 ‫Then you'll want to open ‫up this course repository. 49 00:02:40,037 --> 00:02:45,887 ‫And once you do this little popup will ‫show up and this is a feature of VS Code. 50 00:02:45,887 --> 00:02:52,667 ‫So I can put in my repository inside ‫the .vscode directory over here, I 51 00:02:52,667 --> 00:02:57,707 ‫can put in an extensions, JSON file ‫that recommends extensions for you to 52 00:02:57,712 --> 00:03:01,667 ‫use this repository, which is great ‫for courses, because now you can just 53 00:03:01,672 --> 00:03:05,112 ‫click the install button there, or you ‫can click the show recommendations. 54 00:03:05,112 --> 00:03:06,822 ‫If you wanna see what it's gonna install. 55 00:03:07,822 --> 00:03:10,289 ‫Now, the first extension I'm ‫gonna recommend might be obvious, 56 00:03:10,469 --> 00:03:11,819 ‫which is the Docker extension. 57 00:03:12,329 --> 00:03:15,869 ‫And what's nice about VS Code is ‫that even if you didn't install 58 00:03:15,869 --> 00:03:21,269 ‫my recommended extensions, that it ‫would recommend what it sees on your 59 00:03:21,274 --> 00:03:23,069 ‫operating system there it'll recommend. 60 00:03:23,069 --> 00:03:26,339 ‫So when you open up a Dockerfile, ‫it'll say hey, would you like to 61 00:03:26,339 --> 00:03:29,729 ‫install the Docker extension or if ‫it sees the Docker binary on your 62 00:03:29,729 --> 00:03:31,139 ‫machine, it will even say that. 63 00:03:31,469 --> 00:03:33,239 ‫So it will help you along your way. 64 00:03:33,239 --> 00:03:37,139 ‫If you have Terraform files or Terraform ‫installed, it might recommend Terraform, 65 00:03:37,379 --> 00:03:39,419 ‫same for Python or development languages. 66 00:03:39,599 --> 00:03:40,769 ‫It's pretty quick about that. 67 00:03:40,769 --> 00:03:45,179 ‫So just don't sweat, installing all the ‫extensions up front, if you don't want to. 68 00:03:45,389 --> 00:03:48,239 ‫But let me just tell you about ‫this one, the Docker extension, 69 00:03:48,239 --> 00:03:52,259 ‫in addition to helping you write ‫the Docker files and Compose files 70 00:03:52,309 --> 00:03:56,239 ‫that you will write throughout this ‫course, which when this course was 71 00:03:56,239 --> 00:03:58,099 ‫first created, we didn't have that. 72 00:03:58,369 --> 00:04:00,169 ‫And it was a little bit harder. 73 00:04:00,169 --> 00:04:02,659 ‫You had to go from memory and you ‫had to spend a lot of time on the 74 00:04:02,659 --> 00:04:07,069 ‫Docker documentation, but now we ‫have these extensions in VS Code 75 00:04:07,069 --> 00:04:09,049 ‫that will help you see mistakes. 76 00:04:09,199 --> 00:04:11,059 ‫Before you try to run the commands. 77 00:04:11,059 --> 00:04:15,379 ‫It'll help advise you on that ‫as well as it can control Docker 78 00:04:15,379 --> 00:04:17,329 ‫from inside VS Code itself. 79 00:04:18,169 --> 00:04:21,139 ‫If you'd like to know more about those ‫features, just check out this extension 80 00:04:21,139 --> 00:04:23,089 ‫readme page for each one of them. 81 00:04:23,339 --> 00:04:26,009 ‫The same goes for the ‫official Kubernetes extension. 82 00:04:26,309 --> 00:04:30,059 ‫You'll notice that both of ‫these extensions are supported 83 00:04:30,059 --> 00:04:31,739 ‫and written by Microsoft. 84 00:04:31,739 --> 00:04:34,349 ‫So you'll see the nice little ‫Microsoft logo with the blue 85 00:04:34,354 --> 00:04:40,109 ‫checkbox there, indicating that ‫it is a legit safe extension from 86 00:04:40,139 --> 00:04:41,939 ‫the makers of VS Code Microsoft. 87 00:04:42,739 --> 00:04:44,449 ‫And just like the Docker extension. 88 00:04:44,449 --> 00:04:48,259 ‫I use a fraction of the features ‫here, but I find it very useful. 89 00:04:48,529 --> 00:04:52,189 ‫It includes snippets and examples for ‫some of the YAML and configuration 90 00:04:52,189 --> 00:04:53,689 ‫files you'll make later in this course. 91 00:04:53,929 --> 00:04:55,939 ‫So there's just really ‫no reason not to have it. 92 00:04:56,939 --> 00:05:00,539 ‫The next set of extensions that ‫I highly recommend, especially 93 00:05:00,539 --> 00:05:03,989 ‫if you think you will use remote ‫servers at all during this course. 94 00:05:04,649 --> 00:05:07,889 ‫And we will have some of the lectures ‫talk about remote servers and 95 00:05:07,889 --> 00:05:09,479 ‫have you set them up if you can. 96 00:05:09,839 --> 00:05:14,489 ‫But when you wanna run remote servers, ‫the remote development extensions from 97 00:05:14,489 --> 00:05:16,889 ‫Microsoft are also extremely handy. 98 00:05:17,189 --> 00:05:20,999 ‫These are one of the few extensions ‫that I use almost weekly. 99 00:05:21,159 --> 00:05:25,269 ‫If there's ever a need for me to have a ‫remote server, usually just for testing 100 00:05:25,269 --> 00:05:29,169 ‫something or trying something out or ‫building another lecture in my course, 101 00:05:29,439 --> 00:05:34,569 ‫I'm often using these remote extensions ‫and essentially there's the main remote 102 00:05:34,569 --> 00:05:36,069 ‫development extension right here. 103 00:05:36,159 --> 00:05:38,559 ‫And it will install at least three others. 104 00:05:38,559 --> 00:05:40,089 ‫It's sort of a meta extension. 105 00:05:40,389 --> 00:05:42,579 ‫It'll install the remote containers. 106 00:05:42,939 --> 00:05:48,309 ‫The remote SSH and then the remote ‫WSL that it talks about in this 107 00:05:48,309 --> 00:05:50,319 ‫main remote development extension. 108 00:05:50,529 --> 00:05:55,299 ‫So if you're on windows and using ‫WSL, like I recommend, then this 109 00:05:55,299 --> 00:05:58,509 ‫will automatically say, Hey, would ‫you like to enable the WSL feature? 110 00:05:58,839 --> 00:06:00,759 ‫What this allows you to do in WSL? 111 00:06:00,819 --> 00:06:05,229 ‫Because WSL is a Linux VM running ‫inside windows is it allows you to 112 00:06:05,229 --> 00:06:10,419 ‫run VS Code on your windows machine ‫and it can see the files natively 113 00:06:10,419 --> 00:06:12,539 ‫inside of your WSL Linux machine. 114 00:06:12,879 --> 00:06:17,259 ‫The same is true for the remote SSH, ‫anything remote a server over the 115 00:06:17,259 --> 00:06:21,609 ‫internet that you have SSH to, it will ‫treat it almost like you're developing 116 00:06:21,939 --> 00:06:26,719 ‫on your local system with a local ‫Linux shell, but you're really using 117 00:06:26,719 --> 00:06:30,199 ‫a server over the internet and your ‫code would be stored on that server. 118 00:06:30,229 --> 00:06:32,059 ‫And it's running all the ‫commands on that server. 119 00:06:32,059 --> 00:06:33,619 ‫So it's really slick. 120 00:06:33,619 --> 00:06:38,209 ‫It also allows me to do things like ‫run VS Code in a browser on an iPad. 121 00:06:39,209 --> 00:06:44,309 ‫And finally, it will also install the ‫container version of remote, where it'll 122 00:06:44,309 --> 00:06:49,319 ‫allow you to run your app code or any ‫of the code you wanna mess with inside 123 00:06:49,324 --> 00:06:51,239 ‫a container anywhere, Docker is running. 124 00:06:52,239 --> 00:06:56,349 ‫And once you have this installed, ‫you'll see a little box down here on 125 00:06:56,349 --> 00:06:59,859 ‫the very bottom left with a couple ‫of greater than less than arrows. 126 00:07:00,099 --> 00:07:04,119 ‫And if you were to click that, it's gonna ‫give you the dropdown menu for connecting 127 00:07:04,119 --> 00:07:08,289 ‫to the remote host or doing any of the ‫other things the remote features can do. 128 00:07:09,289 --> 00:07:10,519 ‫And this one's a bonus. 129 00:07:10,759 --> 00:07:14,329 ‫Technically, you don't need this at all ‫for this course, but if you happen to 130 00:07:14,329 --> 00:07:18,379 ‫be lucky enough to work in a team, or ‫maybe you're taking this course with 131 00:07:18,384 --> 00:07:22,909 ‫someone else, that's also learning Docker ‫or Kubernetes, and you'd like to pair 132 00:07:22,909 --> 00:07:27,439 ‫at all on this course or in you're in ‫a team that you wanna do code pairing, 133 00:07:27,439 --> 00:07:30,709 ‫or you might need to do code pairing, ‫or just simply show off your code to 134 00:07:30,709 --> 00:07:36,454 ‫someone else live, get the live share ‫official extension from Microsoft. 135 00:07:37,454 --> 00:07:40,694 ‫There's a lot of ones that have ‫similar names, but you wanna get the 136 00:07:40,694 --> 00:07:46,604 ‫live, share one from Microsoft because ‫this one uses a secure tunnel up to 137 00:07:46,604 --> 00:07:50,834 ‫Microsoft cloud servers to allow you to ‫mutually authenticate with someone else. 138 00:07:51,074 --> 00:07:55,874 ‫And then you essentially can just ‫share your repository through VS Code. 139 00:07:56,274 --> 00:08:00,789 ‫And you can both edit on the files like ‫you were sitting on the same machine. 140 00:08:00,789 --> 00:08:05,139 ‫You can actually see where each person ‫is writing like a Google doc and you 141 00:08:05,139 --> 00:08:08,529 ‫can move around the files and then tell ‫everyone else to come look at your file. 142 00:08:08,534 --> 00:08:09,819 ‫It's actually super neat. 143 00:08:09,884 --> 00:08:13,799 ‫It makes for great demos, especially like ‫if you're live streaming or making YouTube 144 00:08:13,799 --> 00:08:15,879 ‫videos like I do, it's pretty slick. 145 00:08:15,879 --> 00:08:18,759 ‫So I recommend trying that out ‫next time you need to share 146 00:08:18,759 --> 00:08:20,379 ‫some of your code with a friend. 147 00:08:21,379 --> 00:08:22,039 ‫And that's it. 148 00:08:22,199 --> 00:08:24,269 ‫You've got your Docker, ‫you've got your VS Code. 149 00:08:24,269 --> 00:08:25,379 ‫You've got the repository. 150 00:08:25,649 --> 00:08:28,409 ‫Let's get into talking about ‫the features of Docker. 151 00:08:28,662 --> 00:08:31,512 ‫Coming up next, running ‫and managing containers.