1 00:00:00,810 --> 00:00:05,220 ‫Now that you know a little something ‫about Docker, let's get you the Docker 2 00:00:05,220 --> 00:00:09,930 ‫set up that you're going to use and the ‫other complimentary tools to support that. 3 00:00:10,489 --> 00:00:15,575 ‫And this specific video is about ‫how you get your Docker for this 4 00:00:15,575 --> 00:00:19,505 ‫course, the Docker install that ‫you're going to use on each lecture. 5 00:00:19,535 --> 00:00:23,584 ‫Now, over the course of this whole ‫thing, you may eventually run Docker 6 00:00:23,584 --> 00:00:27,515 ‫different ways or other container tools, ‫but for now, let's just focus on getting 7 00:00:27,515 --> 00:00:31,535 ‫you the Docker for the main part of ‫the Docker sections of this course. 8 00:00:31,946 --> 00:00:35,906 ‫In fact, there are lots of ways ‫to run a Docker container now, as 9 00:00:35,906 --> 00:00:38,676 ‫opposed to when Docker was invented ‫There was really just Docker. 10 00:00:38,856 --> 00:00:42,726 ‫But now we have standards in the ‫industry and we have tons of tools. 11 00:00:42,726 --> 00:00:45,186 ‫You can run them in the cloud, you ‫can run them on servers, on your 12 00:00:45,186 --> 00:00:49,836 ‫local machine, in a virtual machine, ‫in the closet on a raspberry PI. 13 00:00:50,226 --> 00:00:51,486 ‫Tons of ways to run Docker. 14 00:00:51,486 --> 00:00:55,176 ‫But I want to focus on how you're ‫going to learn the beginnings 15 00:00:55,176 --> 00:00:56,346 ‫of Docker in this course. 16 00:00:56,933 --> 00:01:01,483 ‫And Docker Inc itself has ‫decided to focus now on Docker 17 00:01:01,483 --> 00:01:07,073 ‫Desktop, as the primary means for ‫developers, operators, sysadmins, 18 00:01:07,093 --> 00:01:08,443 ‫or anyone wanting to learn Docker. 19 00:01:08,803 --> 00:01:10,923 ‫That's how you should be ‫learning Docker to begin with. 20 00:01:11,393 --> 00:01:17,153 ‫Docker Desktop, I consider it the best ‫way for you to run the Docker tools, 21 00:01:17,153 --> 00:01:21,483 ‫because there's more than one on ‫Mac, Windows, and now Linux desktops. 22 00:01:21,753 --> 00:01:25,923 ‫And you can see, even by the About screen, ‫that there's more than a few tools. 23 00:01:26,073 --> 00:01:28,653 ‫In fact, this is really a small ‫subset of all the tools that 24 00:01:28,653 --> 00:01:31,623 ‫come with Docker Desktop, when ‫you install it on your machine. 25 00:01:31,863 --> 00:01:36,903 ‫Think of Docker Desktop as more of a tool ‫bundler that collapses all a bunch of 26 00:01:36,903 --> 00:01:40,923 ‫different tools together in an automated ‫install and keeps them up to date for you. 27 00:01:41,336 --> 00:01:44,966 ‫Now in case you didn't know, ‫Docker Desktop is not for servers. 28 00:01:45,296 --> 00:01:50,336 ‫Docker Engine is a tiny little component ‫of the entire suite of tools coming 29 00:01:50,336 --> 00:01:54,226 ‫with Docker Desktop and Docker Engine ‫would go on a server that you might 30 00:01:54,226 --> 00:01:56,160 ‫want to run a container on a server. 31 00:01:56,160 --> 00:01:58,770 ‫But Docker Desktop itself ‫shouldn't run on servers. 32 00:01:58,770 --> 00:02:02,400 ‫You shouldn't install it on a Windows ‫server, or if you want to try to 33 00:02:02,400 --> 00:02:06,420 ‫run it on a Linux server, you're not ‫going to run the Desktop edition. 34 00:02:06,420 --> 00:02:08,280 ‫You're going to go look for Docker Engine. 35 00:02:08,853 --> 00:02:12,483 ‫And in case you read some of this stuff, ‫as you're setting up Docker Desktop, 36 00:02:12,513 --> 00:02:16,533 ‫or as you're signing up for your ‫Docker Hub account, Docker Desktop is 37 00:02:16,533 --> 00:02:20,163 ‫a part of a subscription service, but ‫there's lots of free ways to use it. 38 00:02:20,643 --> 00:02:24,098 ‫Some of the tools in it are open ‫source, but Docker Desktop, the wrapper, 39 00:02:24,118 --> 00:02:27,418 ‫the packaging that puts all this ‫together and puts it on your machine 40 00:02:27,418 --> 00:02:29,668 ‫locally, that's not open source. 41 00:02:29,908 --> 00:02:35,728 ‫That is actually licensed, but good news, ‫I have actually looked through out all 42 00:02:35,728 --> 00:02:39,888 ‫the licensing details and confirmed with ‫one of the executives at Docker, that 43 00:02:39,888 --> 00:02:45,143 ‫Docker Desktop is free for learning, ‫free for personal use, and it's only 44 00:02:45,143 --> 00:02:47,723 ‫until you get into the enterprise ‫that you have to start paying for it. 45 00:02:47,933 --> 00:02:49,403 ‫So don't worry about it for this course. 46 00:02:49,433 --> 00:02:53,333 ‫Even if you work in a large company and ‫you need to use your company's computer, 47 00:02:53,723 --> 00:02:57,413 ‫as long as you're just using Docker ‫Desktop for learning, you're good to go. 48 00:02:57,553 --> 00:02:59,523 ‫You're fine using it ‫for free in this course. 49 00:02:59,989 --> 00:03:04,284 ‫And as I mentioned, Docker Desktop ‫includes many tools, the list is long. 50 00:03:04,651 --> 00:03:07,451 ‫This is just a few of them, ‫some of the main tools. 51 00:03:07,601 --> 00:03:10,961 ‫There's all sorts of other things that go ‫on in the background to make it work with 52 00:03:10,991 --> 00:03:15,191 ‫VPNs, to make it work on any networks, ‫with any of your storage locally. 53 00:03:15,681 --> 00:03:19,971 ‫Now because there's so many different ways ‫today to run Docker or any containers, 54 00:03:20,301 --> 00:03:23,501 ‫dozens of tools out there, dozens ‫of ways in the cloud and on servers, 55 00:03:23,976 --> 00:03:27,096 ‫I'm going to focus on you running it ‫locally for the beginning parts of 56 00:03:27,096 --> 00:03:30,726 ‫the course, until we get to a time ‫where you would need something like a 57 00:03:30,726 --> 00:03:33,456 ‫specific server or a set of servers. 58 00:03:33,816 --> 00:03:37,326 ‫So if you can't run it locally, that's ‫okay, you can use play-with-docker and 59 00:03:37,326 --> 00:03:40,328 ‫all the other things that I mentioned ‫throughout these first few sections. 60 00:03:40,605 --> 00:03:44,385 ‫But if you're able, try to get it ‫running locally so that it will be 61 00:03:44,385 --> 00:03:45,855 ‫easier for you to do this course. 62 00:03:46,143 --> 00:03:50,793 ‫Now, the next lecture has written details ‫and links to all the places for the 63 00:03:50,793 --> 00:03:54,963 ‫different operating systems for getting ‫Docker Desktop, your code editor, all the 64 00:03:54,963 --> 00:03:56,403 ‫other things you need for this course. 65 00:03:56,613 --> 00:03:59,823 ‫But for the rest of this video, ‫I'm going to talk about why we 66 00:03:59,823 --> 00:04:01,593 ‫even need to have this section. 67 00:04:01,953 --> 00:04:07,533 ‫Why do we need to describe the install ‫of Docker, if it's a GUI install, 68 00:04:07,533 --> 00:04:09,093 ‫that's just next, next complete? 69 00:04:09,333 --> 00:04:11,043 ‫Why do we need to have this whole section? 70 00:04:11,493 --> 00:04:12,843 ‫And there are good reasons for that. 71 00:04:13,384 --> 00:04:18,394 ‫So one, each OS has its ‫nuances and complexities with 72 00:04:18,424 --> 00:04:20,314 ‫Docker or container tooling. 73 00:04:20,674 --> 00:04:24,574 ‫And I wanted to highlight those ‫things for each OS so that you could 74 00:04:24,574 --> 00:04:28,824 ‫prepare now, so that later on you ‫don't hit roadblocks or hiccups. 75 00:04:29,188 --> 00:04:31,558 ‫I'm classifying this ‫as a reference section. 76 00:04:31,798 --> 00:04:36,958 ‫If you are a Windows user and you have no ‫interest in Mac, then skip the Mac video. 77 00:04:37,058 --> 00:04:39,948 ‫They're not that long, but just go ‫ahead and skip the Mac one anyway. 78 00:04:40,158 --> 00:04:44,538 ‫If you're not needing to run on a ‫Linux desktop, skip that video and 79 00:04:44,538 --> 00:04:48,108 ‫just consider this as a reference ‫section for the proper Docker set 80 00:04:48,108 --> 00:04:50,978 ‫up for taking this course per OS. 81 00:04:51,534 --> 00:04:54,454 ‫And in case you didn't get this ‫point earlier in one of the first 82 00:04:54,454 --> 00:05:01,234 ‫few lectures, Docker or any container ‫requires the container image to run 83 00:05:01,264 --> 00:05:03,844 ‫on a kernel that was designed for it. 84 00:05:04,024 --> 00:05:08,044 ‫If you build an application for ‫Windows, it has to run on Windows. 85 00:05:08,404 --> 00:05:12,864 ‫But most containers, and I ‫would say 98-99% of containers, 86 00:05:13,194 --> 00:05:14,809 ‫run on a Linux kernel. 87 00:05:15,079 --> 00:05:19,259 ‫Which means, when you install Docker ‫Desktop or some of the alternate ways to 88 00:05:19,259 --> 00:05:26,434 ‫run containers, these tools typically will ‫manage a local VM, running a tiny Linux 89 00:05:26,434 --> 00:05:29,284 ‫kernel and a tiny container file system. 90 00:05:29,624 --> 00:05:34,529 ‫So one of the big things Docker Desktop ‫will do for you is manage the setup, 91 00:05:34,649 --> 00:05:40,199 ‫the upgrading, the security, and then ‫the deletion of that tiny VM, all for 92 00:05:40,199 --> 00:05:42,079 ‫you transparently in the background. 93 00:05:42,229 --> 00:05:44,569 ‫And this is true on Windows and Mac. 94 00:05:44,749 --> 00:05:49,639 ‫Even on Linux, Docker Desktop will make ‫a Linux VM on its own, a little tiny 95 00:05:49,639 --> 00:05:53,629 ‫thing in the background, to install all ‫these tools, keep the version up to date. 96 00:05:53,959 --> 00:06:00,212 ‫And when you run containers again, on ‫Docker Desktop for local Docker use, it's 97 00:06:00,212 --> 00:06:01,662 ‫going to run all that stuff in the VM. 98 00:06:02,116 --> 00:06:05,586 ‫There are many, many tools out there ‫I've mentioned, and there's even 99 00:06:05,826 --> 00:06:09,006 ‫more if you consider the cloud, but ‫there's still a significant number 100 00:06:09,006 --> 00:06:13,956 ‫of tools that aren't Docker official ‫that could let you run containers. 101 00:06:14,296 --> 00:06:19,006 ‫I like to consider all the different ‫ways of course, when I want to 102 00:06:19,006 --> 00:06:20,476 ‫learn everything in the ecosystem. 103 00:06:20,476 --> 00:06:23,376 ‫But when you first start learning, ‫you kind of just need to learn one. 104 00:06:23,376 --> 00:06:26,406 ‫So we're going to learn Docker ‫first, and then we'll talk about 105 00:06:26,406 --> 00:06:28,591 ‫other tools as they become relevant. 106 00:06:28,896 --> 00:06:34,056 ‫Of all the ways to run containers, I like ‫to classify them into three main types. 107 00:06:34,596 --> 00:06:36,786 ‫What we're going to be focusing on ‫in the beginning of this course is 108 00:06:36,786 --> 00:06:41,226 ‫the first one there, locally running ‫Docker Desktop, Rancher Desktop, 109 00:06:41,226 --> 00:06:44,886 ‫one of these other tools that runs ‫containers on your local machine. 110 00:06:45,276 --> 00:06:49,046 ‫And later, you can learn how to run ‫containers on a server with something 111 00:06:49,066 --> 00:06:51,406 ‫like Docker Engine or Kubernetes itself. 112 00:06:51,616 --> 00:06:55,846 ‫And then there's also cloud services ‫that you don't even really talk 113 00:06:55,846 --> 00:06:59,266 ‫to Docker or Kubernetes directly, ‫they just run this stuff for you. 114 00:06:59,266 --> 00:07:02,799 ‫Like Fargate, Cloud ‫Run, App Runner on AWS. 115 00:07:02,799 --> 00:07:04,149 ‫There's all sorts of ‫ways to run containers. 116 00:07:04,149 --> 00:07:07,719 ‫In fact, now just in the clouds, ‫there's dozens of ways, because 117 00:07:07,719 --> 00:07:09,189 ‫containers are now standard. 118 00:07:09,239 --> 00:07:14,269 ‫And so there's a lot of ways, and ‫maybe you decide eventually to use some 119 00:07:14,299 --> 00:07:18,089 ‫other tool to run your containers on ‫your local machine or on your servers. 120 00:07:18,089 --> 00:07:20,399 ‫But for now, we're just ‫going to focus on Docker. 121 00:07:20,568 --> 00:07:25,548 ‫And what I mean by that is that ‫Docker Engine was the first way 122 00:07:25,548 --> 00:07:28,248 ‫to run a modern container in 2013. 123 00:07:28,518 --> 00:07:32,598 ‫And Docker kind of invented those ‫three different ideas that you 124 00:07:32,718 --> 00:07:34,008 ‫learned about a few videos ago. 125 00:07:34,308 --> 00:07:37,988 ‫But because this is all open source, ‫all these other tools have shown 126 00:07:37,988 --> 00:07:42,578 ‫up, but it's okay because they ‫all now use the OCI standards. 127 00:07:42,968 --> 00:07:46,298 ‫The Open Container Initiative, ‫they actually have a website. 128 00:07:46,518 --> 00:07:48,618 ‫Link in the references for this video. 129 00:07:48,888 --> 00:07:51,828 ‫But that's what all these ‫different tools are using. 130 00:07:51,828 --> 00:07:56,478 ‫So if you build an image with Docker ‫or some other tool, no problem, all 131 00:07:56,478 --> 00:07:58,098 ‫the container runtimes can run it. 132 00:07:58,158 --> 00:07:59,748 ‫And there's many ways, like I said. 133 00:08:00,018 --> 00:08:05,163 ‫So just think of these tools as ‫ways to build, manage, and run 134 00:08:05,163 --> 00:08:07,623 ‫containers from container images. 135 00:08:07,653 --> 00:08:10,743 ‫The containers are standard through ‫OCI, that's a standard interface. 136 00:08:10,923 --> 00:08:15,483 ‫The images are a standard format ‫with the OCI, and even the registry 137 00:08:15,483 --> 00:08:19,203 ‫where we store all these images ‫for then downloading to servers, 138 00:08:19,473 --> 00:08:21,333 ‫that's a standard as well under OCI. 139 00:08:21,716 --> 00:08:25,129 ‫And like I mentioned a while ago, ‫I'm assuming that underneath all 140 00:08:25,129 --> 00:08:28,219 ‫of this, that you're using the ‫Docker CLI and the Docker Engine. 141 00:08:28,429 --> 00:08:31,009 ‫If you use a different tool, you ‫could still run containers, but 142 00:08:31,009 --> 00:08:32,899 ‫their commands would be different. 143 00:08:32,899 --> 00:08:34,549 ‫So we want to start with Docker. 144 00:08:34,639 --> 00:08:38,119 ‫It's still the most popular way to ‫run containers on your local system. 145 00:08:38,285 --> 00:08:41,945 ‫Now I mentioned a few other ways ‫to run containers locally, so I 146 00:08:41,945 --> 00:08:43,235 ‫just want you to know this upfront. 147 00:08:43,235 --> 00:08:45,755 ‫Again, you're not going to download ‫these tools yet, but there are 148 00:08:45,755 --> 00:08:50,375 ‫plenty of other ways if you're not ‫wanting to run Docker Desktop, even 149 00:08:50,375 --> 00:08:52,265 ‫though it's my favorite long-term. 150 00:08:52,715 --> 00:08:55,895 ‫We got this whole list here, and there's ‫a link in the references for this 151 00:08:55,895 --> 00:08:59,105 ‫video, but you can see that there's ‫a bunch of other tools down here, 152 00:08:59,105 --> 00:09:04,475 ‫you might hear things like Rancher ‫Desktop or Multipass, or Podman or 153 00:09:04,475 --> 00:09:07,775 ‫nerdctl or just there's a lot, right? 154 00:09:07,985 --> 00:09:12,055 ‫And they all have different features and ‫different focuses, and they can all run 155 00:09:12,055 --> 00:09:15,415 ‫the same container images in containers. 156 00:09:16,044 --> 00:09:18,834 ‫And in the next lecture, you're ‫going to get the links to 157 00:09:18,834 --> 00:09:20,304 ‫download and install Docker. 158 00:09:20,454 --> 00:09:24,924 ‫And then from there, you might ‫want to watch the specific video 159 00:09:24,924 --> 00:09:28,014 ‫in this section for the operating ‫system you're going to use in this 160 00:09:28,014 --> 00:09:30,714 ‫course, Mac, Windows, or Linux.