‫Is your machine Windows 10 or 11?
‫Then this is the video for you for getting ‫everything you need in this course.
‫You're going to need a supported version ‫of Windows Desktop, that's Windows
‫10 or 11 at the time of this video.
‫And that's any edition of Windows ‫10 or 11, Home, Pro, Enterprise.
‫Any of that.
‫And I'm also going to show you some ‫settings you probably want to tweak inside
‫your Docker Desktop setup, and then we're ‫going to make sure you have the course
‫repo cloned locally, and you also have ‫some other tools set up, that'll make
‫it easier to do this course on Windows.
‫And we're also going to make ‫sure you have Visual Studio Code.
‫Now you technically, don't have to use ‫Visual Studio Code in this course, but
‫I think it's the best editor right now ‫for DevOps and it's what I'm going to be
‫using, and I encourage you to try it out.
‫Docker Desktop is still the easiest and ‫best way to use Docker and Kubernetes
‫combined on your local machine.
‫So I'm going to be recommending that.
‫Now there are a lot of ‫other ways to use Docker.
‫I have a spreadsheet that I'll link to in ‫the resources for this lecture that give
‫you other options beyond Docker Desktop.
‫But Docker Desktop really, it's ‫got, it's got everything you need.
‫And with Windows 10 and 11, ‫Docker shifted to using WSL2.
‫If you're not familiar with the ‫Windows subsystem for Linux, it's
‫the best way to run Linux on Windows.
‫It's built into the operating system, ‫it's a native feature of Windows
‫straight from Microsoft, and it works ‫really smoothly with Docker Desktop.
‫So during the install, it's ‫going to set up that for you,
‫if you don't already have that.
‫So here's the basic steps for ‫setting up Docker Desktop if you've
‫not done any of this stuff before.
‫And the Docker docs are amazing, ‫so you will spend a lot of
‫time here in this course.
‫There's so much information ‫in the Docker docs.
‫And that tells you how to ‫install a Docker, of course.
‫Down below, you'll see a link ‫to download the executable, the
‫installer, and that'll get us started.
‫Now, one of the first options you'll see ‫on the screen when you start installing
‫Docker Desktop is asking you about WSL2.
‫The old way that Docker Desktop ‫used to work years ago was with
‫Hyper-V, and it was a full VM ‫running Linux and Docker inside it.
‫WSL2 is more efficient on your battery, ‫it's more efficient on your CPU and
‫resources, so generally we're going ‫to want to do that option if you can.
‫Then, once your installation is ‫succeeded, it's only partly configured.
‫It's actually going to take ‫a few more steps, especially
‫if you've never done WSL.
‫And as a reminder here, Docker Desktop ‫has a license and it's not always
‫free, but it's always free to learn.
‫And I've got confirmation from management ‫at Docker that this is exactly the
‫reason they have a learning license, so ‫you can take courses like mine to make
‫sure that any enterprise or business ‫or personal use that you intend to use,
‫and some of those are requiring a paid ‫license, that you can still learn Docker
‫in this course, and in other learning ‫materials free on Docker Desktop.
‫In fact, you'll see a screen similar ‫to this, that basically means
‫you need to agree to their EULA.
‫And it indicates in there that it remains ‫free for learning, and you'll just need
‫to click the I accept button and move on.
‫Now, as a part of this install, ‫you're going to do several things to
‫the Windows host operating system.
‫One of those is WSL2 will be ‫installed and then it also will
‫need a Linux kernel update.
‫So there might be ‫several reboots involved.
‫Once you've installed WSL, you'll ‫get this message saying, Hey, I
‫need to reboot because WSL requires ‫a reboot of the host bring system.
‫But after that reboot, you may get an ‫additional setup here and you'll notice
‫Windows Subsystem for Linux update setup.
‫So this is an extra little step that ‫will make sure that the Linux kernel
‫inside of your WSL gets updated to a ‫newer version, and then that actually
‫becomes a part of your Windows update.
‫And my understanding is, Windows wanted ‫to keep this separate so that you didn't
‫have to update the full Windows host in ‫order to get a new updated Linux kernel.
‫Now, once you see a screen like this, ‫that's a little blue window that is
‫known as the Docker Dashboard, that ‫means everything is finally working.
‫And you can use the internal tutorial, ‫but you know, you bought my course,
‫so why not just do my course?
‫So you can skip the tutorial right ‫there, or of course it doesn't
‫hurt to get your intro to Docker ‫in the Start button up there.
‫I'm going to go ahead and skip this ‫tutorial and give you some tips.
‫Now here's a tip that can prevent ‫a possible error in the future of
‫this course, when you're downloading ‫lots of stuff with Docker.
‫A Docker download of an image, so ‫you can run containers is called
‫a pull, kind of like a Git pull.
‫And that requires access ‫to the Docker Hub website.
‫Now, you normally get 100 downloads ‫every six hours, at least that's the
‫current limit without logging in.
‫But if you log in with a free Docker ‫ID, you can get twice as many pulls.
‫200 pulls, in fact, And you can log in, ‫pay for more and even get more pulls,
‫but we don't need to pay for right now.
‫We don't need to pay for anything, right?
‫We're just going to ‫download stuff and learn.
‫So I recommend going to hub.docker.com.
‫Links are in the references for ‫this lecture, creating your free
‫Docker account, and then if you ‫log into Docker Desktop with it,
‫you get way more pulls of images.
‫And in case you get an error when you try ‫to start up Docker, or you try to use a
‫Docker command and it's not running and it ‫doesn't run properly and you get various
‫errors, you might see something like this.
‫This error is telling you that you don't ‫have the extensions enabled on your
‫CPU in the BIOS for virtualization.
‫This course requires Docker ‫running locally in Docker
‫Desktop to run virtualization.
‫That's how Docker Desktop works.
‫Unless we're running on a Linux ‫server somewhere, there's usually
‫no virtualization needed there, ‫it runs natively on Linux.
‫But on Windows and Mac and even ‫a Linux Desktop, we will be using
‫a virtual machine on our local ‫hardware to run Linux and Docker.
‫It's actually safer that way, more secure ‫for Docker to run inside of an enclave,
‫and in order to do that, we need the ‫BIOS extensions for virtualization.
‫So this probably indicates that you've ‫never run virtualization on this computer
‫before, something like VirtualBox, if ‫you've heard of that, Parallels, VMware.
‫There's all sorts of ‫virtualization software.
‫Now Docker comes with its own, but it ‫needs those BIOS extensions enabled.
‫So you're going to need to check ‫your specific BIOS on your specific
‫hardware to make sure that anything ‫related to VTX or Intel Virtualization
‫Extensions, or there's a whole ‫bunch of different names for it.
‫Just look for something around ‫VT, VTX or virtualization.
‫Enable that, and then this should go away.
‫Now here's some tweaks I recommend on ‫your Docker Desktop setup to get the
‫best out of its utilization and the ‫speed that you would need to make it go
‫fast and just make this course easier.
‫Now, in order to get to the settings ‫of Docker on Windows, you need to go
‫down to your system tray, down at the ‫bottom-right, and find the Moby icon.
‫If it's not there, then Docker ‫Desktop probably isn't running.
‫And right-click on this ‫guy, his name is Moby.
‫Yes, he's the mascot.
‫And underneath that icon, when ‫you right-click, you'll see a
‫Settings option that will get you ‫to all the settings inside Docker.
‫And once you right-click, you'll see ‫this screen and look for the Settings
‫option to get to the Settings menu.
‫Once you're in the settings, you can poke ‫around, but one that you'll want to pay
‫attention to is this particular screen.
‫This has to do with your shell.
‫And in WSL, Windows Subsystem for ‫Linux, we need to use a Linux shell to
‫get into that VM that WSL runs for us.
‫And in Docker, it's ‫going to show them here.
‫Anytime you install another subsystem, ‫whether it's Ubuntu or Debian or any of
‫the Linux distributions, you'll start to ‫see them show up here and you'll want to
‫enable them for Docker Desktop support.
‫And this gets us a little bit into ‫WSL in case you're new to that.
‫But Window Subsystem ‫for Linux is fantastic.
‫Kind of said that already, right?
‫But when you go into the Windows store, ‫you can download different distributions.
‫And you need one preferably, in order ‫to interact with Docker in Linux.
‫Now technically, Docker Desktop ‫can still allow you to interact
‫with it from your Windows host, ‫but I recommend getting into Linux.
‫It's where all your containers are ‫going to run on servers anyway.
‫So you might as well start getting ‫used to it locally on your machine,
‫and this is a great way to do that.
‫Go to the store, search for Ubuntu ‫and download Ubuntu's WSL option.
‫And it's a mini little Linux VM, and ‫it doesn't take up a lot of space or
‫use up a lot of memory by default.
‫So it's okay to run.
‫And once you click that Get ‫button, it'll download and install.
‫Then that button should change to Open, ‫which when you click it, will open a
‫shell using bash right into that Linux VM.
‫And on the first time you run it, ‫you'll get prompted to create an
‫account, because your Windows account ‫is not going to be the same as
‫the Linux account in this WSL VM.
‫So you can create the same username ‫and password or something completely
‫different, but you'll need to remember ‫this, so you can get back into WSL later.
‫Now, once I've done that, I will ‫be at the Ubuntu bash shell.
‫And the way I can test this is ‫just to type Docker version.
‫You'll get back the version ‫of the client and the server.
‫Hopefully, that will ‫not give you an error.
‫We'll talk more about ‫that in the next section.
‫If you're into security stuff and maybe ‫learning a little bit of whitehat hacking.
‫Total side note, but another great ‫variant or distribution of Linux
‫that you can install in WSL is Kali.
‫Kali Linux.
‫It's not related to this course, ‫but once you've installed multiple
‫WSL distributions, which you totally ‫can, but you don't have to, you can
‫just install one for this course.
‫But once you've picked a couple, ‫you'll need to go back into the Docker
‫settings to make sure that each of ‫those shells is enabled for Docker.
‫You'll see here that I've enabled both ‫Kali and Ubuntu in my WSL, and I need
‫to come back in here to Docker settings ‫because this won't happen by default.
‫And I need to click those little ‫toggles to enable Docker for
‫each one of those WSL subsystems.
‫And there we go, they should be ‫blue, and now we can start running
‫Docker commands from inside WSL.
‫Now years ago, when Docker Desktop came ‫out, and it was only going to support
‫Hyper-V at the time, because WSL2 didn't ‫exist, there was this limitation where we
‫really needed to run Docker from Windows.
‫That's from PowerShell or ‫from CMD, the command prompt.
‫But no more.
‫I don't recommend you do that ‫because the commands are different.
‫The options you have at the ‫command line are different.
‫Different things are subtle that kind ‫of get in the way of you doing what
‫you need to do, because the rest of ‫us on Mac and Linux are all using
‫bash and ZSH and shells from Unix.
‫But in here with Windows, we ‫technically have PowerShell and the
‫older command prompt, but no more.
‫Microsoft is recommending you'd use ‫something new called the Windows
‫terminal, which is automatically ‫installed on Windows 11.
‫But on Windows 10, you can get it ‫for free from Microsoft in the store.
‫And this is what it looks like.
‫If you go to the Windows store to download ‫Windows terminal, you'll get this one.
‫It's officially from Microsoft, ‫so you know, that's the right one.
‫And then you can run that and it ‫will run the PowerShell shell, as
‫well as your WSL shells and also ‫the old, old command prompt that
‫we've had since like Windows 3.
‫And you'll see these options.
‫When you start a new shell, you'll ‫see whatever WSLs you've installed.
‫It will keep them updated in this list.
‫And you can even customize Windows ‫terminal to make new ones of these,
‫custom versions of these with ‫different fonts and colors and themes.
‫Go nuts.
‫But it doesn't really matter what you do, ‫you're just going to be able to use this
‫to get a bash shell, which will give you ‫compatibility at the command line for
‫all the Docker commands and Kubernetes ‫commands we'll run in this course.
‫So for me, I'm going to do Ubuntu.
‫I think Ubuntu is one of the best ‫operating systems on the planet
‫for Linux and Linux, there's lots ‫of distributions, tons of them.
‫But I think Ubuntu is a great one when ‫you're first learning your shells and
‫your command and tutorials, there's ‫so much out there on the internet
‫for help for free for Ubuntu, and ‫it's one of the best-supported
‫Linux distributions for Docker.
‫So I'm definitely going to be ‫using it throughout this course.
‫Here's a little pro tip.
‫You can change the Windows terminal ‫to be your default terminal for
‫anything you need to run in Windows.
‫Normally in the past, it's been ‫PowerShell or command prompt, which
‫are now legacy terminal Windows.
‫There's still shells inside the ‫terminal window, but the GUI, as
‫we call the terminal, that's what ‫you want to run Windows terminal.
‫So go up there to that default ‫profile and change it from Windows
‫PowerShell to bash and WSL.
‫And then you can also change the default ‫terminal application to Windows terminal.
‫That way you always are launching ‫the latest terminal GUI and the bash
‫shell inside of WSL as your default.
‫Cool, I just changed my ‫top two options there.
‫That's my preference, you don't have to ‫do that, but it will make launching and
‫starting things in this course easier.
‫Now, remember that Docker version ‫command I told you to run?
‫You can go ahead and run this now.
‫We're going to run it in the next ‫section just to make sure everything's
‫running correctly, but you'll get ‫back client and server versions,
‫if everything is up to snuff.
‫Now, If you don't know what ‫Visual Studio Code is, I love it.
‫It is my favorite DevOps editor, and it's ‫technically a full-fledged code editor.
‫Has tons of stuff and support for ‫every language that I can think of.
‫But it's also a great DevOps language ‫editor for the YAML that you're going
‫to learn about, the Docker files ‫that you're going to learn about,
‫all the different files that we do.
‫It's not technically code, it's more ‫of a data language structure, a lot of
‫these things or a scripting structure.
‫So don't worry, you don't have to know ‫how to code to do Docker or Kubernetes.
‫But it has Docker and Kubernetes features ‫in it, if you add the extensions, and
‫it has great support for running in WSL.
‫And if you're interested in more of the ‫advanced features in Visual Studio Code,
‫the extensions you might want to use and ‫all that, there's a video later in this
‫section that'll give you more details.
‫Because this editor works everywhere, ‫Linux desktops, Macs, Windows,
‫it's what I use every day for years now.
‫Now let's talk about ‫getting the course repo.
‫The repository for this course is ‫available in a link in this lecture.
‫It's available in the previous lecture ‫that actually had all the links for
‫all this stuff in a written form.
‫And it is something that you're ‫going to want to clone down
‫into your Linux subsystem.
‫It turns out with Docker, because ‫Docker is running in Linux, it's
‫actually faster for you to do stuff ‫with these code examples I'm going to
‫give you and all the different Docker ‫files and Compose and Kubernetes,
‫and we're going to get to all that.
‫But it turns out that that stuff is ‫better in Linux, so it's better if you
‫Git clone into the Linux subsystem file ‫system, which is different than your host.
‫The way to know is if you're in a ‫/user/username, rather than in a C:\Users.
‫If that's a C:\ on your path, that means ‫you're in the host file system, and
‫I'd rather you get into your Windows ‫terminal inside of that WSL, like
‫Ubuntu, and once you're in there, clone ‫into that location this repository.
‫It'll work better from there.
‫Now over on GitHub for this ‫repository, you can click on the
‫green Code button to copy or clone ‫this repository down with a simple
‫command: git clone and then the URL.
‫Git is going to be in your Ubuntu or ‫typical Linux WSL distribution, so
‫you'll have the git command already.
‫All right.
‫If you're a Windows user, which you ‫were watching this video, hopefully
‫because you're a Windows user, then ‫you've got Docker Desktop, you've
‫got the repository, you've got an ‫editor, maybe Visual Studio Code.
‫You've downloaded that repository ‫into your WSL, and you're ready to
‫start using the examples inside the ‫repository and running Docker commands.
‫Later in the course, we'll get to ‫Kubernetes commands and how Docker
‫Desktop enables Kubernetes in the ‫options, but we'll worry about
‫that once we get to Kubernetes.
‫For now, you can choose to watch ‫the rest of the videos in this
‫section or skip them for now.
‫And that's my recommendation.
‫Skip the operating system that you ‫are not using, even Linux server.
‫If you don't plan on using a Linux ‫server until way later in this course,
‫you don't need to know how to set ‫up Docker in it yet, you're just
‫going to focus on using it locally ‫on your machine, that's totally fine.
‫And keep the rest of these videos in this ‫section to come back to as a reference.
‫But move on to the next section ‫if you think you're ready.