So let's continue talking about Containers and Dockers. In part two here, we'll describe a little bit more about Dockers themselves. Docker adoption has gone sky high. Basically, they've gone, it's a line straight up from when they released in around 2013. It's a massive adoption in the market today. It's up to about 40% in one year Docker adoption itself. So, containers are not going away. On the contrary, containers are becoming very, very big containerize it with Dockers. Shows you a little bit of an example, Docker build minus t with a py web-server. Basically, a little Docker file that lets your application run inside a Docker container and pull out some of the images themselves. Here in the real world, what you'll do is you'll push, or pull your images from a registry itself. Here's an example, shows you a registry, the IP shows you where it is, the project number, the port number, and etcetera. You could push it or get it from that registry and then you could run that py script to get your Docker of container. Why containers are the packaging format of the future themselves? OK. First of all, they're efficient, they're portable. App Engine supports Docker containers in a custom runtime. Google Container Registry provides a registry to host many, many Docker images, including CI and CD integration images. And also, the Compute Engine supports containers, including managing instance groups with Docker containers. One of the most powerful choices in container orchestration. And now, we'll go into the lab. This lab introduces you to containers. You'll learn how to build, run, and distribute a simple web server and web application as a self-contained Docker image. Remember, containers isolate programs from each other and the underlying OS, they enable you to move them across systems without reconfiguration. Behind the scenes, containers use low-level operating system constructs to put a shell around your application. With the shell, you can specify unique system users, host names, IP addresses, RAM and CPU quotas, and file system segments. Everything you need to define the server in which the container runs. But it's easier to start using containers without being familiar with the technology that makes them work. Later, when you want to configure more complex applications with many containers, you'll want to control these shells with more precision. But for now, it's enough to build and run and distribute a simple container.