1 00:00:00,000 --> 00:00:04,400 [MUSIC] 2 00:00:04,400 --> 00:00:05,950 Hi, I'm Jay McGavren, and 3 00:00:05,950 --> 00:00:09,900 I'm here to present a course written by our guest author, Jared Smith. 4 00:00:11,980 --> 00:00:14,350 Welcome to introduction to Docker. 5 00:00:14,350 --> 00:00:18,380 We put this course together for you so we can take a deep dive into what Docker is, 6 00:00:18,380 --> 00:00:22,410 why it matters, and how to use it for you own software projects. 7 00:00:22,410 --> 00:00:26,320 Have you ever taken another developer's app and tried to run it on your machine, and 8 00:00:26,320 --> 00:00:28,970 have it fail terribly with weird errors? 9 00:00:28,970 --> 00:00:33,812 All too often you'll be told, it works on my machine so it should work on yours. 10 00:00:33,812 --> 00:00:37,590 If you've ever had this happen, then Docker is the tool for you. 11 00:00:37,590 --> 00:00:39,920 Docker bundles your app together with all the libraries and 12 00:00:39,920 --> 00:00:43,660 services it depends on into a package called a container, 13 00:00:43,660 --> 00:00:47,630 which can then be delivered as a single unit wherever it needs to go. 14 00:00:47,630 --> 00:00:49,590 It's kind of like a shipping container. 15 00:00:49,590 --> 00:00:52,110 Because shipping containers are all the same shape, 16 00:00:52,110 --> 00:00:56,890 they can all be handled the same way regardless of what they contain, likewise, 17 00:00:56,890 --> 00:00:59,430 no matter what your apps' architecture looks like. 18 00:00:59,430 --> 00:01:03,260 Funneling it into a Docker container allows your coworkers or customers to 19 00:01:03,260 --> 00:01:06,520 deploy it anywhere without worrying about what its components look like. 20 00:01:07,640 --> 00:01:10,150 Rather than worrying about how software should be built 21 00:01:10,150 --> 00:01:14,120 every time it changes hands between developers or operation staff, 22 00:01:14,120 --> 00:01:18,020 Docker standardizes how an app is built through a simple configuration file. 23 00:01:19,070 --> 00:01:23,070 Docker allows apps to be quickly and easily run on Windows, Mac, or 24 00:01:23,070 --> 00:01:24,488 Linux hosts. 25 00:01:24,488 --> 00:01:29,290 The growing DevOps movement integrates the jobs of developers with the operation 26 00:01:29,290 --> 00:01:32,700 staff, who have to run their applications day to day. 27 00:01:32,700 --> 00:01:36,265 Docker is one of the essential DevOps tools. 28 00:01:36,265 --> 00:01:40,010 DevOps is a very broad topic, and we won't discuss it much here. 29 00:01:40,010 --> 00:01:43,870 But one of its key tenets is that we should prefer working systems 30 00:01:43,870 --> 00:01:45,640 over comprehensive documentation. 31 00:01:45,640 --> 00:01:50,440 Docker enables this by standardizing how systems run. 32 00:01:50,440 --> 00:01:53,490 And making it possible to deploy complex apps 33 00:01:53,490 --> 00:01:56,330 without relying on extensive documentation. 34 00:01:56,330 --> 00:01:59,680 Companies like Facebook, Netflix, Google, and 35 00:01:59,680 --> 00:02:02,270 GitHub, all use Docker on a daily basis. 36 00:02:03,450 --> 00:02:06,680 Before we start on the course, let's make sure we're on the same page. 37 00:02:07,800 --> 00:02:10,900 We're assuming you've got Docker installed on your computer. 38 00:02:10,900 --> 00:02:14,140 If not, check the teacher's notes for links to help you get started. 39 00:02:15,320 --> 00:02:18,334 This course assumes you've gone through all the prerequisites 40 00:02:18,334 --> 00:02:19,623 listed on the course page. 41 00:02:19,623 --> 00:02:23,430 You need to already be familiar with running Shell commands from your terminal. 42 00:02:23,430 --> 00:02:26,222 If you're not comfortable with that, do yourself a favor and 43 00:02:26,222 --> 00:02:28,810 review the prerequisites before starting this course. 44 00:02:30,573 --> 00:02:33,734 We've also included links to helpful resources in the teacher's notes 45 00:02:33,734 --> 00:02:35,150 throughout the course. 46 00:02:35,150 --> 00:02:36,010 If at any point, 47 00:02:36,010 --> 00:02:39,540 you encounter something you don't understand, check the teacher's notes. 48 00:02:39,540 --> 00:02:41,115 The solution is probably there. 49 00:02:43,184 --> 00:02:47,030 We tried to adjust the pace of this material to accommodate everyone. 50 00:02:47,030 --> 00:02:50,450 But depending on what you know, it's probably going to be too slow for 51 00:02:50,450 --> 00:02:53,300 you in some places and too fast in others. 52 00:02:53,300 --> 00:02:57,170 You can adjust the video playback speed faster or slower as needed for 53 00:02:57,170 --> 00:02:58,010 the current section. 54 00:02:59,410 --> 00:03:03,159 Don't worry about memorizing every detail about every command you see in this 55 00:03:03,159 --> 00:03:06,017 course, that will be summarized in the teacher's notes. 56 00:03:06,017 --> 00:03:09,422 The important part is that you remember the general purpose of each command and 57 00:03:09,422 --> 00:03:10,050 how it works. 58 00:03:11,130 --> 00:03:12,360 Okay, ready? 59 00:03:12,360 --> 00:03:14,770 We'll be running a docker container in the next video.