What is Docker?

Stephen Grider
A free video tutorial from Stephen Grider
Engineering Architect
4.7 instructor rating • 28 courses • 694,118 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 November 2020

  • 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 questions here which is what is soccer. Well this question is a lot more challenging to answer and each 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 used docker on my project they might be referring to dock or client or dock or server. They might be referred to dock or Hubbard doc or compose. 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 the 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 red house 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 right now let me give you two important pieces of terminology. When I ran that command something called the Dockers Selye reached out to something called the darker 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 Berettas which is what the image 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 it 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 Dharker is really talking about a whole collection of different projects and tools. And we also picked up two important pieces of terminology a docker 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 the next section we're going to start talking a little bit more about how we work with images and containers. So a quick break and I'll see you in just a minute.