‫Now that you know a little something ‫about Docker, let's get you the Docker
‫set up that you're going to use and the ‫other complimentary tools to support that.
‫And this specific video is about ‫how you get your Docker for this
‫course, the Docker install that ‫you're going to use on each lecture.
‫Now, over the course of this whole ‫thing, you may eventually run Docker
‫different ways or other container tools, ‫but for now, let's just focus on getting
‫you the Docker for the main part of ‫the Docker sections of this course.
‫In fact, there are lots of ways ‫to run a Docker container now, as
‫opposed to when Docker was invented ‫There was really just Docker.
‫But now we have standards in the ‫industry and we have tons of tools.
‫You can run them in the cloud, you ‫can run them on servers, on your
‫local machine, in a virtual machine, ‫in the closet on a raspberry PI.
‫Tons of ways to run Docker.
‫But I want to focus on how you're ‫going to learn the beginnings
‫of Docker in this course.
‫And Docker Inc itself has ‫decided to focus now on Docker
‫Desktop, as the primary means for ‫developers, operators, sysadmins,
‫or anyone wanting to learn Docker.
‫That's how you should be ‫learning Docker to begin with.
‫Docker Desktop, I consider it the best ‫way for you to run the Docker tools,
‫because there's more than one on ‫Mac, Windows, and now Linux desktops.
‫And you can see, even by the About screen, ‫that there's more than a few tools.
‫In fact, this is really a small ‫subset of all the tools that
‫come with Docker Desktop, when ‫you install it on your machine.
‫Think of Docker Desktop as more of a tool ‫bundler that collapses all a bunch of
‫different tools together in an automated ‫install and keeps them up to date for you.
‫Now in case you didn't know, ‫Docker Desktop is not for servers.
‫Docker Engine is a tiny little component ‫of the entire suite of tools coming
‫with Docker Desktop and Docker Engine ‫would go on a server that you might
‫want to run a container on a server.
‫But Docker Desktop itself ‫shouldn't run on servers.
‫You shouldn't install it on a Windows ‫server, or if you want to try to
‫run it on a Linux server, you're not ‫going to run the Desktop edition.
‫You're going to go look for Docker Engine.
‫And in case you read some of this stuff, ‫as you're setting up Docker Desktop,
‫or as you're signing up for your ‫Docker Hub account, Docker Desktop is
‫a part of a subscription service, but ‫there's lots of free ways to use it.
‫Some of the tools in it are open ‫source, but Docker Desktop, the wrapper,
‫the packaging that puts all this ‫together and puts it on your machine
‫locally, that's not open source.
‫That is actually licensed, but good news, ‫I have actually looked through out all
‫the licensing details and confirmed with ‫one of the executives at Docker, that
‫Docker Desktop is free for learning, ‫free for personal use, and it's only
‫until you get into the enterprise ‫that you have to start paying for it.
‫So don't worry about it for this course.
‫Even if you work in a large company and ‫you need to use your company's computer,
‫as long as you're just using Docker ‫Desktop for learning, you're good to go.
‫You're fine using it ‫for free in this course.
‫And as I mentioned, Docker Desktop ‫includes many tools, the list is long.
‫This is just a few of them, ‫some of the main tools.
‫There's all sorts of other things that go ‫on in the background to make it work with
‫VPNs, to make it work on any networks, ‫with any of your storage locally.
‫Now because there's so many different ways ‫today to run Docker or any containers,
‫dozens of tools out there, dozens ‫of ways in the cloud and on servers,
‫I'm going to focus on you running it ‫locally for the beginning parts of
‫the course, until we get to a time ‫where you would need something like a
‫specific server or a set of servers.
‫So if you can't run it locally, that's ‫okay, you can use play-with-docker and
‫all the other things that I mentioned ‫throughout these first few sections.
‫But if you're able, try to get it ‫running locally so that it will be
‫easier for you to do this course.
‫Now, the next lecture has written details ‫and links to all the places for the
‫different operating systems for getting ‫Docker Desktop, your code editor, all the
‫other things you need for this course.
‫But for the rest of this video, ‫I'm going to talk about why we
‫even need to have this section.
‫Why do we need to describe the install ‫of Docker, if it's a GUI install,
‫that's just next, next complete?
‫Why do we need to have this whole section?
‫And there are good reasons for that.
‫So one, each OS has its ‫nuances and complexities with
‫Docker or container tooling.
‫And I wanted to highlight those ‫things for each OS so that you could
‫prepare now, so that later on you ‫don't hit roadblocks or hiccups.
‫I'm classifying this ‫as a reference section.
‫If you are a Windows user and you have no ‫interest in Mac, then skip the Mac video.
‫They're not that long, but just go ‫ahead and skip the Mac one anyway.
‫If you're not needing to run on a ‫Linux desktop, skip that video and
‫just consider this as a reference ‫section for the proper Docker set
‫up for taking this course per OS.
‫And in case you didn't get this ‫point earlier in one of the first
‫few lectures, Docker or any container ‫requires the container image to run
‫on a kernel that was designed for it.
‫If you build an application for ‫Windows, it has to run on Windows.
‫But most containers, and I ‫would say 98-99% of containers,
‫run on a Linux kernel.
‫Which means, when you install Docker ‫Desktop or some of the alternate ways to
‫run containers, these tools typically will ‫manage a local VM, running a tiny Linux
‫kernel and a tiny container file system.
‫So one of the big things Docker Desktop ‫will do for you is manage the setup,
‫the upgrading, the security, and then ‫the deletion of that tiny VM, all for
‫you transparently in the background.
‫And this is true on Windows and Mac.
‫Even on Linux, Docker Desktop will make ‫a Linux VM on its own, a little tiny
‫thing in the background, to install all ‫these tools, keep the version up to date.
‫And when you run containers again, on ‫Docker Desktop for local Docker use, it's
‫going to run all that stuff in the VM.
‫There are many, many tools out there ‫I've mentioned, and there's even
‫more if you consider the cloud, but ‫there's still a significant number
‫of tools that aren't Docker official ‫that could let you run containers.
‫I like to consider all the different ‫ways of course, when I want to
‫learn everything in the ecosystem.
‫But when you first start learning, ‫you kind of just need to learn one.
‫So we're going to learn Docker ‫first, and then we'll talk about
‫other tools as they become relevant.
‫Of all the ways to run containers, I like ‫to classify them into three main types.
‫What we're going to be focusing on ‫in the beginning of this course is
‫the first one there, locally running ‫Docker Desktop, Rancher Desktop,
‫one of these other tools that runs ‫containers on your local machine.
‫And later, you can learn how to run ‫containers on a server with something
‫like Docker Engine or Kubernetes itself.
‫And then there's also cloud services ‫that you don't even really talk
‫to Docker or Kubernetes directly, ‫they just run this stuff for you.
‫Like Fargate, Cloud ‫Run, App Runner on AWS.
‫There's all sorts of ‫ways to run containers.
‫In fact, now just in the clouds, ‫there's dozens of ways, because
‫containers are now standard.
‫And so there's a lot of ways, and ‫maybe you decide eventually to use some
‫other tool to run your containers on ‫your local machine or on your servers.
‫But for now, we're just ‫going to focus on Docker.
‫And what I mean by that is that ‫Docker Engine was the first way
‫to run a modern container in 2013.
‫And Docker kind of invented those ‫three different ideas that you
‫learned about a few videos ago.
‫But because this is all open source, ‫all these other tools have shown
‫up, but it's okay because they ‫all now use the OCI standards.
‫The Open Container Initiative, ‫they actually have a website.
‫Link in the references for this video.
‫But that's what all these ‫different tools are using.
‫So if you build an image with Docker ‫or some other tool, no problem, all
‫the container runtimes can run it.
‫And there's many ways, like I said.
‫So just think of these tools as ‫ways to build, manage, and run
‫containers from container images.
‫The containers are standard through ‫OCI, that's a standard interface.
‫The images are a standard format ‫with the OCI, and even the registry
‫where we store all these images ‫for then downloading to servers,
‫that's a standard as well under OCI.
‫And like I mentioned a while ago, ‫I'm assuming that underneath all
‫of this, that you're using the ‫Docker CLI and the Docker Engine.
‫If you use a different tool, you ‫could still run containers, but
‫their commands would be different.
‫So we want to start with Docker.
‫It's still the most popular way to ‫run containers on your local system.
‫Now I mentioned a few other ways ‫to run containers locally, so I
‫just want you to know this upfront.
‫Again, you're not going to download ‫these tools yet, but there are
‫plenty of other ways if you're not ‫wanting to run Docker Desktop, even
‫though it's my favorite long-term.
‫We got this whole list here, and there's ‫a link in the references for this
‫video, but you can see that there's ‫a bunch of other tools down here,
‫you might hear things like Rancher ‫Desktop or Multipass, or Podman or
‫nerdctl or just there's a lot, right?
‫And they all have different features and ‫different focuses, and they can all run
‫the same container images in containers.
‫And in the next lecture, you're ‫going to get the links to
‫download and install Docker.
‫And then from there, you might ‫want to watch the specific video
‫in this section for the operating ‫system you're going to use in this
‫course, Mac, Windows, or Linux.