2.1 What Is Docker?
In this lesson I’ll introduce Docker and explain how it’s different from a conventional virtual machine. I’ll tell you about some of the advantages of using Docker instead of using a VM or installing software directly to your local machine.
1.Introduction1 lesson, 00:43
2.Starting With Docker6 lessons, 29:40
3.Web Servers With Docker3 lessons, 14:26
4.Conclusion1 lesson, 00:44
2.1 What Is Docker?
Hello everyone. This is Reggie Dawson. Welcome to the Docker for Deployment course for Tuts+. As a developer, we're often working with different platforms and frameworks. As a result we need to install various packages and dependencies to support these platforms. These multiple platforms often lead to problems due to incompatibilities between them. In a perfect world, we could find some way to isolate these environments. This is where Docker comes in. The first thing you need to understand is that Docker is not virtualization such as what is offered by something like VMWare. With VMWare, we use virtual machines which require resources to run. The virtual machines also have their own operating system, which also requires resources from the host. As a result, you need a machine with a lot of memory to run multiple virtual machines. Docker uses containers instead of virtual machines, these containers require resources but do not have their own operating system. Instead the containers run as isolated instances that use the host operating system kernel. What this means is that Docker doesn't require the overhead of standard virtualization. These containers encapsulate an installed application versus a whole operating system. This makes Docker desirable to developers, as they don't need to worry about the underlying OS and can just concern themselves with their application. It also allows us to use Docker to offer portable development environments with all of the dependencies needed already installed. This allows developers to get up and running with duplicate development environments quickly. No more spinning up virtual machines and installing software because once we have our image it can be easily distributed. Many people have stayed away from Docker due to the fact that it only runs on Linux based systems. Truthfully it is good to know how to manage Docker using the terminal but as you will learn in this course, there is also workflow for both Macs and PCs. As a result you will see that Docker is a viable alternative for local development. When building an app or a site we often need a web server to preview our work. As you will learn this is a simple thing to set up with Docker. If you are developing a WordPress theme and need an environment to test in, Docker is also a good choice. The important thing is that Docker keeps your development environment separate from your local machine. After years of supporting PCs I can tell you that the easiest way to mess up your machine is to install buggy development software that has just been released. Not really a huge problem, but a half a day loss restoring a machine could be avoided easily by using Docker. Docker has also found heavy usage in dev ops. Essentially you can run and manage a data center of Docker containers, although that is outside the scope of this course. In this course we are first gonna learn how to install Docker on all platforms. First we will use a standard Linux command line to install Docker, then we will learn how to install the Windows-based Docker tools. After we have Docker installed we will learn how to find our images and launch containers from them. We will then go to the Docker hub and learn how to find the images we are looking for. Then we will use Kitematic and learn how to set up our containers. After that we will learn to manage our images and containers and we will even learn how to create our own images. After we create these images, we will upload them to the Docker hub, finally we will learn a little bit about networking Docker containers. After we understand Docker we will then use it to set up a couple web servers, a ghost server, a WordPress server and a cloud base IDE with the Ionic framework. In the next course we will get started by installing Docker