1 00:00:00,967 --> 00:00:04,467 We are done with both Dockerfile and Docker Images. 2 00:00:04,467 --> 00:00:07,769 So now, it is time to pay our much needed 3 00:00:07,769 --> 00:00:11,901 attention to the center point of this course, containers. 4 00:00:11,901 --> 00:00:13,950 [No Audio] 5 00:00:13,950 --> 00:00:16,410 We have already seen the formal definition of 6 00:00:16,410 --> 00:00:19,410 containers. But if we consider our updated 7 00:00:19,410 --> 00:00:22,440 knowledge, the simplest way to describe a 8 00:00:22,440 --> 00:00:26,834 container would be a running instance of a Docker Image. 9 00:00:27,767 --> 00:00:30,570 You can compare it to the analogy of process and 10 00:00:30,570 --> 00:00:34,200 program in Linux. Just like a process is a running 11 00:00:34,200 --> 00:00:38,901 instance of a program, a container is a running instance of an image. 12 00:00:39,967 --> 00:00:42,967 With help of namespaces on the Linux host, 13 00:00:42,967 --> 00:00:46,334 containers provide similar isolations like VM. 14 00:00:46,434 --> 00:00:50,040 Each container has its own file system, network 15 00:00:50,040 --> 00:00:52,950 driver, storage driver, and administrative 16 00:00:52,950 --> 00:00:56,640 privileges as well. Despite of all of this, any 17 00:00:56,640 --> 00:01:00,420 container would be at least 100 times lighter than 18 00:01:00,420 --> 00:01:03,034 the VMs hosting the same set of softwares. 19 00:01:03,034 --> 00:01:04,260 [No Audio] 20 00:01:04,260 --> 00:01:07,200 We have seen previously that Docker Images are 21 00:01:07,200 --> 00:01:12,067 made of read only layers, and the top most layer is writable. 22 00:01:12,167 --> 00:01:15,234 Well, this top layer is provided to it 23 00:01:15,234 --> 00:01:18,267 while creating a container out of the image. 24 00:01:19,134 --> 00:01:22,140 With correct network configurations, containers 25 00:01:22,140 --> 00:01:26,201 can also talk to each other via IP or DNS. 26 00:01:26,901 --> 00:01:30,780 It also follows Copy-on-Write policy to maintain 27 00:01:30,780 --> 00:01:34,201 the integrity of the Docker image, which we will explore soon. 28 00:01:34,201 --> 00:01:35,580 [No Audio] 29 00:01:35,580 --> 00:01:39,330 You may wonder what exactly do we mean by running 30 00:01:39,330 --> 00:01:43,067 the image? Well, much less to the surprise. 31 00:01:43,067 --> 00:01:46,401 Run can be defined pretty simply in our context. 32 00:01:46,401 --> 00:01:52,001 It means providing resources like compute, memory and storage.