Docker bundles your app together with all the libraries and services it depends on into a package called a container, which can then be delivered as a single unit wherever it needs to go. It's kind of like a shipping container. Because shipping containers are all the same shape, they can all be handled the same way, regardless of what they contain. Likewise, no matter what your app's architecture looks like, bundling it into a Docker container allows your coworkers or customers to deploy it anywhere, without worrying about what its components look like.
Dockerfile -- Dockerfiles define how an app should be built/packaged and deployed with Docker. They are simple text files with a number of reference commands defined in the Docker documentation.
[MUSIC] 0:00 Hi, I'm Jay McGavren, and 0:04 I'm here to present a course written by our guest author, Jared Smith. 0:05 Welcome to introduction to Docker. 0:11 We put this course together for you so we can take a deep dive into what Docker is, 0:14 why it matters, and how to use it for you own software projects. 0:18 Have you ever taken another developers app and tried to run it on your machine, and 0:22 have it fail terribly with weird errors? 0:26 All to often you'll be told, it works on my machine so it should work on yours. 0:28 If you've ever had this happen, then Docker is the tool for you. 0:33 Docker bundles your app together with all the libraries and 0:37 services it depends on into a package called a container, 0:39 which can then be delivered as a single unit wherever it needs to go. 0:43 It's kind of like a shipping container. 0:47 Because shipping containers are all the same shape, 0:49 they can all be handled the same way regardless of what they contain, likewise, 0:52 no matter what your apps' architecture looks like. 0:56 Funneling it into a Docker container allows your coworkers or customers to 0:59 deploy it anywhere without worrying about what its components look like. 1:03 Rather than worrying about how software should be built 1:07 every time it changes hands between developers or operation staff, 1:10 Docker standardizes how an app is built through a simple configuration file. 1:14 Docker allows apps to be quickly and easily run on Windows, Mac, or 1:19 Linux hosts. 1:23 The growing DevOps movement integrates the jobs of developers with the operation 1:24 staff, who have to run their applications day to day. 1:29 Docker is one of the essential DevOps tools. 1:32 DevOps is a very broad topic, and we won't discuss it much here. 1:36 But one of its key tenets is that we should prefer working systems 1:40 over comprehensive documentation. 1:43 Docker enables this by standardizing how systems run. 1:45 And making it possible to deploy complex apps 1:50 without relying on extensive documentation. 1:53 Companies like Facebook, Netflix, Google, and 1:56 GitHub, all use Docker on a daily basis. 1:59 Before we start on the course, let's make sure we're on the same page. 2:03 We're assuming you've got Docker installed on your computer. 2:07 If not, check the teacher's notes for links to help you get started. 2:10 This course assumes you've gone through all the prerequisites 2:15 listed on the course page. 2:18 You need to already be familiar with running Shell commands from your terminal. 2:19 If you're not comfortable with that, do yourself a favor and 2:23 review the prerequisites before starting this course. 2:26 We've also included links to helpful resources in the teacher's notes 2:30 throughout the course. 2:33 If at any point, 2:35 you encounter something you don't understand, check the teacher's notes. 2:36 The solution is probably there. 2:39 We tried to adjust the pace of this material to accommodate everyone. 2:43 But depending on what you know, it's probably going to be too slow for 2:47 you in some places and too fast in others. 2:50 You can adjust the video playback speed faster or slower as needed for 2:53 the current section. 2:57 Don't worry about memorizing every detail about every command you see in this 2:59 course, that will be summarized in the teacher's notes. 3:03 The important part is that you remember the general purpose of each command and 3:06 how it works. 3:09 Okay, ready? 3:11 We'll be running a darker container in the next video. 3:12
You need to sign up for Treehouse in order to download course files.Sign up