What is Docker?

Stephen Grider
A free video tutorial from Stephen Grider
Engineering Architect
4.7 instructor rating • 29 courses • 816,395 students

Learn more from the full course

Docker and Kubernetes: The Complete Guide

Build, test, and deploy Docker applications with Kubernetes while learning production-style development workflows

21:28:16 of on-demand video • Updated May 2021

  • Learn Docker from scratch, no previous experience required
  • Master the Docker CLI to inspect and debug running containers
  • Build a CI + CD pipeline from scratch with Github, Travis CI, and AWS
  • Understand the purpose and theory of Kubernetes by building a complex app
  • Automatically deploy your code when it is pushed to Github!
English [Auto] In the last section, we tried to answer the question of why use Docker and we eventually said that we use soccer because it makes it really easy to install and run new software on our computer. We're not going to try to answer the other big question here, which is what is Docker? Well, this question is a lot more challenging to answer. Any time you see someone refer to Docker in a blog post or an article or a forum or wherever it might be, they're kind of making reference to an entire ecosystem of different projects, tools and pieces of software. So if someone says, oh, yeah, I use Docker on my project, they might be referring to Docker client or Docker server. They might be referring to Dr. Hub or Docker Campos. Again, these are all projects, tools, pieces of software that come together to form a platform or ecosystem around creating and running something called containers. And so your immediate question might be, OK, well, what's a container? That's a good question. And that's a question that we're going to be trying to answer throughout this entire course. Just a moment ago, when I ran that command at my terminal of Docker Run Rediscuss and went through a little series of actions behind the scenes. And we're going to examine that entire series of actions very closely over time. But for right now, let me give you two important pieces of terminology. When I ran that command, something called the Docker's, I reached out to something called the Docker Hub, and it downloaded a single file called An Image. An image is a single file containing all the dependencies and all the configuration required to run a very specific program. For example, Brittas, which is what the image that I just downloaded was supposed to run. This is a single file that gets stored on your hard drive. And at some point in time you can use this image to create something called a container. A container is an instance of an image and you can kind of think of it as being like a running program. We're going to go into great detail over time over behind her to learn exactly how a container works exactly. But right now, all we really need to understand is that a container is a program with its own isolated set of hardware resources. So it kind of has its own little set or its own little space of memory, has its own little space of networking technology and its own little space of hard drive space as well. OK, so I didn't really answer the question here of what Docker is, but we did learn at least that a reference to Docker is really talking about a whole collection of different projects and tools. And we also picked up two important pieces of terminology, a darker image and a container. Now, these images and containers are the absolute backbone of what you and I are going to be working with throughout the rest of this course. So let's take a quick pause right now. We're going to come back to the next section. We're going to start talking a little bit more about how we work with images and containers. So quick break and I'll see you in just a minute.