
Join the Conversation!
Subscribing gives you access to the comments so you can share your ideas, ask questions, and connect with others.
"Please login to view comments"
Subscribing gives you access to the comments so you can share your ideas, ask questions, and connect with others.
By logging in, you'll unlock full access to this and other free tutorials on JSM Pro.
Why? Logging in lets us personalize your learning experience, track your progress, and keep you in the loop with new workshops, coding tips, and platform updates.
You'll also be the first to know about upcoming launches, events, and exclusive discounts.
No spam—just helpful content to level up your skills.
If that sounds fair, go ahead and log in to continue →
Enter your name and email to get instant access
##Looks like we found a thief monkey By the way, I liked the trick how you reached till here. You have a good sense of humor. You will improve a lot if you join our course with this passion.
var
(function-scoped, outdated)let
(block-scoped, modern and recommended)const
(block-scoped, cannot be reassigned)_
, or $
let let = 5;
is invalid)myVar
and myvar
are different)string
, number
, boolean
, null
, undefined
, bigint
, symbol
Objects
, Arrays
, Functions
Subscribing gives you access to a brief, insightful summary of each lecture to stay on track.
00:00:00 How does Docker work?
00:00:02 There are two most important concepts in Docker, images and containers, and the entire workflow revolves around them.
00:00:11 Let's start with images.
00:00:13 A Docker image is a lightweight, standalone, executable package that includes everything needed to run a piece of software,
00:00:22 including the code, runtimes like Node.js, libraries, system tools, and even the operating system.
00:00:30 Think of a Docker image as a recipe for our application.
00:00:34 It not only lists the ingredients, being code and libraries, but also provides the instructions such as runtime and system tools to create a specific meal,
00:00:44 meaning to run our application.
00:00:48 And we would want to run this image somewhere, right?
00:00:51 And that's where containers come in.
00:00:53 A Docker container is a runnable instance of a Docker image.
00:00:58 It represents the execution environment for a specific application, including its code, runtime, system tools, and libraries included in the Docker image.
00:01:09 A container takes everything specified in the image and follows its instructions by executing necessary commands, downloading packages,
00:01:17 and setting things up to run our application.
00:01:20 Once again, imagine having a recipe for a delicious cake, the recipe being the Docker image.
00:01:26 Now, when we actually bake the ingredients, we can serve it as a cake, right?
00:01:31 The baked cake is like a Docker container.
00:01:34 It's the real thing created from the recipe.
00:01:38 Just like we can have multiple servings of the same meal from a single recipe, or multiple documents created from a single database schema,
00:01:46 We can run multiple containers from a single image.
00:01:49 That's what makes Docker the best.
00:01:51 We create one image and get as many instances as we want from it in form of containers.
00:01:58 Now, if you dive deeper into Docker, you'll also hear people talk about volumes.
00:02:03 A Docker volume is a persistent data storage mechanism that allows data to be shared between a Docker container and the host machine,
00:02:13 which is usually a computer or a server, or even among multiple containers.
00:02:18 It ensures data durability and persistence even if the container is stopped or removed.
00:02:25 Think of it as a shared folder or a storage compartment that exists outside the container.
00:02:31 The next concept is Docker Network.
00:02:34 It's a communication channel that enables different Docker containers to talk to each other or with the external world.
00:02:41 It creates connectivity, allowing containers to share information and services while maintaining isolation.
00:02:49 Think of a Docker network as a big restaurant kitchen.
00:02:52 In a large kitchen, being the host, you have different cooking stations, or containers, each focused on a specific meal.
00:03:01 Meal being our application.
00:03:03 Each cooking station, or a container, is like a chef working independently on a meal.
00:03:09 Now imagine a system of order tickets or a Docker network connecting all of these cooking stations together.
00:03:16 Chefs can communicate, ask for ingredients, or share recipes seamlessly.
00:03:22 Even though each station or a container has its own space and focus, the communication system or the Docker network enables them to collaborate efficiently.
00:03:33 They share information without interfering with each other's cooking process.
00:03:38 I hope it makes sense, but don't worry if it doesn't.
00:03:41 We'll explore it together in the demo.
00:03:43 So moving on, the Docker workflow is distributed into three parts.
00:03:48 Docker client.
00:03:50 Docker host AKA Docker daemon and Docker registry AKA Docker hub.
00:03:57 The Docker client is the user interface for interacting with Docker.
00:04:01 It's the tool we use to give Docker commands.
00:04:05 We issue commands to the Docker client via the command line or a graphical user interface, instructing it to build, run,
00:04:13 or manage images or containers.
00:04:16 Think of the Docker client as the chef giving instructions to the kitchen staff.
00:04:21 The Docker host or Docker daemon is the background process responsible for managing containers on the host system.
00:04:29 It listens for Docker client commands, creates and manages containers, builds images and handles other Docker related tasks.
00:04:38 Imagine the Docker host as the master chef overseeing the kitchen, carrying out instructions given by the chef or the Docker client.
00:04:47 Finally, the Docker registry, aka Docker Hub, is a centralized repository of Docker images.
00:04:55 It hosts both public and private registries or packages.
00:04:59 Docker is the Docker Hub, what Git is the GitHub in a nutshell.
00:05:04 Docker images are stored in these registries, and when you run a container, Docker may pull the required image from the registry if it's unavailable locally.
00:05:14 To return to our cooking analogy, think of Docker registry as a cookbook or recipe library.
00:05:21 It's like a popular cookbook store where you can find and share different recipes, in this case, Docker images.
00:05:29 In essence, the Docker client is the command center where we issue instructions.
00:05:34 The Docker host then executes these instructions and manages containers.
00:05:39 And the Docker registry serves as a centralized storage for sharing and distributing images.