The Docker for DevOps course: From development to production

Learn how to build and deploy web applications with Docker in an automated way. Level up your DevOps skills today.
4.3 (661 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
4,697 students enrolled Bestselling in Docker
$19
$25
24% off
Take This Course
  • Lectures 110
  • Length 7.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

From Docker novice to DevOps expert in 7 hours

Looking to level up your skills by deploying your own web application? How about furthering your career by picking up years worth of general DevOps skills?

Prepare to get excited about Docker (and this course)!

Dozens of massive companies are using Docker every day but the awesome thing about Docker is it works incredibly well even for the smallest projects.

Nowadays learning about Docker and general DevOps skills is gaining massive momentum in the tech scene. It's similar to how mobile app development was a few years ago.

Companies are EXPECTING new developers to manage the full life cycle of their web applications. This means BOTH developing and deploying your apps.

Here's your chance to STAY AHEAD OF THE CURVE.

The Docker for DevOps course isn't just your run of the mill introduction to Docker course, you can get that info by skimming Docker's website.

This course shows you WHAT you can build with Docker and HOW to do it -- of course you'll learn the Docker basics along the way!

Together we'll walk through developing and deploying a multi-service Flask and Ruby on Rails application (more framework examples will be provided as bonus lectures too).

Oh and don't worry, you won't need Flask or Ruby on Rails experience to understand this course. The emphasis is on deploying a web application, not building one.

Learning by example is a great way to retain information and learn quickly.

"The course has a perfect balance between theory and practical material. At the end of the course, you have a working and secured web app with fully automated deployment along with an understanding of how it works. This is exactly what I wanted from the course."

Ready to level up?

Here's what you'll get when you sign up to my course today:

  • You'll learn how to get your development environment set up to run Docker. Windows, Mac and Linux users will be able to follow along.
  • Next, you'll learn the Docker basics and we'll complete a hello world example.
  • You'll Dockerize a Flask or Ruby on Rails application and pickup a few best practices on how to create a production ready application with those frameworks.
  • You'll learn how to create a staging server so you can test your app.
  • You'll learn how to keep your app running forever by getting a crash course with systemd.
  • You'll learn how to configure and serve your app over SSL (HTTPS) with nginx.
  • You'll get $10 in free hosting credits on DigitalOcean to deploy your application.
  • You'll learn how to purchase and configure a domain name (and make it work with your new server).
  • Finally, you'll learn how to obtain a FREE SSL certificate and hook it up.


I'll also give you tips on where to go next for topics such as:

  • Adding more services to your app
  • Scaling out beyond 1 host
  • Monitoring and alerting
  • Hooking up a continuous integration pipeline
  • Dealing with centralized logging
  • Looking into using various configuration management tools


You're getting all of that AND additional bonus lectures for just $25.

This course is jam packed with over 100 lectures, 7+ hours of videos and quizzes. You'll also receive full PDF text directions for each video lecture and complete source code examples.

"This course was really well put together and covers a wide range of topics around both DevOps and Docker. I chose it primarily for the Docker side, but learned a lot about Ruby and Python too. I am very pleased with this course."

Why is it worth using Docker?

  • Saves a ton of time and headaches when setting up development environments.
  • Easily move an application across environments or servers.
  • Removes issues such as "well, it worked on my machine!".
  • Makes developing with teams a much more pleasant experience.
  • Works on most major platforms.
  • Has amazing support on most cloud hosting providers.
  • You won't need expensive hosting to deploy your web applications.
  • Docker as a company is well funded and moving forward quickly.


"Well structured course with high quality information. Source code is really well written and well structured. The tutor support is like 24/7. He replied to my all questions within few hours and most of the times in few minutes."

Why is this course for you?

After finishing this course you'll have enough knowledge about Docker and general DevOps skills to start applying for jobs, so by investing in this course you're jump starting your DevOps career.

Or perhaps you have a thirst to broaden your skill set and want to save a ton of time by avoiding the tedious task of researching all of these topics on your own.

In either case, you're going to walk away with years of knowledge and best practices that I've accumulated while working as a consultant.

"Meticulous hands-on descriptions and recipes of how to utilize Docker and a lot of associated software in the real world scenario of building a web-app! I especially enjoyed the clear delivery of content: well structured, superbly produced, written summaries for each shown topic."

Who am I?

Hi, I'm Nick. I'm a consultant by day and open source contributor by night. I write software and help companies being their ideas to life.

I love learning new things and then sharing my knowledge with others.

I don't have a fancy degree but I do have experience shipping code and explaining my thought process to others while I talk about various technical topics.

What are the requirements?

  • A computer with at least 4GBs of RAM running Windows, OSX or Linux

What am I going to get from this course?

  • Learn how to deploy web applications with Docker
  • Ability to serve your web app securely over SSL (HTTPS)
  • Confidence to apply for DevOps positions at software companies

What is the target audience?

  • Anyone who wants to learn how to use Docker
  • Anyone who wants to deploy a web application in an automated way
  • Anyone who wants to save money by self-hosting their own web apps
  • Anyone who wants to further their career by improving their DevOps skills

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
02:05

Learn the skills necessary to develop and deploy a web application with Docker and gain a number of DevOps related skills along the way.

Dealing with issues
01:45
05:44

Explore the server deployment paths I have taken over the last few years which eventually lead me to learn and love working with Docker. Experience my pain without having to live it!

1 question

Test your knowledge of this section.

Section 2: Getting setup
Article

A few students have reported issues where Udemy's video player is choosing the lowest quality setting for them which makes text difficult to read. This lecture will explain how you can fix this on your end for the time being.

New to Udemy? Here's how to download resources
Article
19:59

Install necessary tools so that you can install Docker on either Windows, Mac or Linux.

Preparing your system for Docker - Text directions
1 page
03:41

Learn how to install a specific version of Docker. Don't worry, if Docker gets updated I will create a bonus lecture which explains what needs to change. This ensures you're always running the latest most awesome version of Docker.

Installing Docker - Text directions
1 page
02:22

Learn how to install a specific version of Docker Compose. If Docker Compose gets updated in the future I will include a bonus lecture which shows you what you can do to upgrade to the latest version.

Installing additional Docker tools - Text directions
1 page
01:17

Get your development environment situated with a free to use code editor. You are free to use whatever you want, but I included this just so you have something to follow along with.

Installing Sublime Text - Text directions
1 page
2 questions

Test your knowledge of this section.

Section 3: Docker basics
02:10

Learn what Docker is along with common Docker related terminology. You will learn what the difference is between Docker and a Virtual Machine and more.

02:05

In this lecture you'll learn about 5 different areas of application development which all benefit greatly from using Docker. You'll soon see using Docker is a no brainer decision.

08:35

Work through a simple hello world example while exploring some of what Docker can do.

Docker hello world - Text directions
1 page
06:20

Get situated with using the official Docker Hub and learn all about what a Docker Registry is.

Working with a Docker Registry - Text directions
1 page
4 questions

Test your knowledge of this section.

Section 4: Building a Dockerized web app
01:33

Prepare your system to create either the Flask or Ruby on Rails application that we will build and deploy with Docker.

Setting up a project directory - Text directions
1 page
2 questions

Test your knowledge of this section.

Section 5: Dockerized Flask app
04:39

Create the basis of a Flask application.

Project scaffolding - Text directions
1 page
08:30

Learn about what problems a Dockerfile solves and how to create a production ready Dockerfile to run a Flask application.

The Dockerfile - Text directions
1 page
07:42

Create a 12 factor Flask application which is optimized for both development and production.

Building the app - Text directions
1 page
Did you get setup locally?
1 question
15:46

Learn how to use Docker Compose to manage multiple Docker containers.

Docker Compose - Text directions
2 pages
03:05

There's multiple ways to set up a Flask application with Docker, learn a second way to organize your app in development mode.

4 questions

Test your knowledge of this section.

Section 6: Dockerized Rails app
Did you follow along with Flask?
1 page
03:36

Create the basis of a Ruby on Rails application.

Project scaffolding - Text directions
1 page
08:36
Learn about what problems a Dockerfile solves and how to create a production ready Dockerfile to run a Ruby on Rails application.
The Dockerfile - Text directions
1 page
04:37
Learn how to use Docker Compose to manage multiple Docker containers.
15:17
Create a 12 factor Ruby on Rails application which is optimized for both development and production.
Building the app - Text directions
2 pages
Did you get setup locally?
1 question
02:04

There's multiple ways to set up a Ruby on Rails application with Docker, learn a second way to organize your app in development mode.

4 questions

Test your knowledge of this section.

Section 7: Spinning up a staging server
00:58

Learn why it's important to use a staging server and how it can prevent catastrophic errors in production.

04:09

Gain insight on a variety of different operating systems, and eventually pick one which we'll deploy our web application to.

02:58

Learn why using Vagrant to provision a staging server is questionable and how we can set up a staging server using alternative methods.

Did you follow along with Rails?
1 page
07:14

Walk through the steps of provisioning a staging server.

Provisioning the staging server - Text directions
1 page
03:51

Learn how to install sudo on the staging server.

Installing sudo - Text directions
1 page
06:04

Learn how to set up a static IP address on the staging server. Along the way you'll gain some general networking knowledge.

Setting a static IP address - Text directions
1 page
08:01

Learn how to configure SSH securely on the staging server.

Setting up SSH - Text directions
2 pages
02:59

Learn how to install Docker in a consistent way on the staging server.

Installing Docker - Text directions
1 page
16:41

Learn how we can take everything we just did to the staging server and automate it. This removes the chance of human error and lets you set things up very quickly.

Operation automation - Text directions
2 pages
04:30

Learn how to automatically pull down all of the Docker images our web application depends on.

Pulling the Docker images - Text directions
1 page
08:43

Learn how to deploy the web application in an automated way so that all you have to do is git push your code and relax.

Pushing the web app - Text directions
1 page
04:56

Learn how to configure an industry standard firewall in a secure and efficient way.

Securing your staging server - Text directions
1 page
Spinning up a staging server - Quiz
6 questions
Section 8: Crash course with systemd
02:07

Learn what systemd is and how it helps you manage all of your Docker containers.

07:22

Learn how to create a few files that you'll be able to load into systemd.

Creating your first unit files - Text directions
1 page
09:41

Learn how to update the deploy script we build last section so that all of your unit files get automatically copied to the staging server.

Exploring the updated deploy script - Text directions
2 pages
Crash course with systemd - Quiz
2 questions
Section 9: Adding nginx into the mix
05:11

Learn what nginx is and how this amazing piece of software will handle common tasks associated to serving a web application.

11:00

Learn how to customize the official nginx image by creating custom nginx configs and even create your own makeshift template engine to paramertize a few values.

Customizing the official nginx image - Text directions
1 page
05:36

Learn how to create proper self signed SSL certificates.

Create self signed SSL certificates - Text directions
1 page
16:08

Learn how to take everything you've learned in this section and apply it to the deploy script so that you can automatically set up nginx in seconds on any server you provision.

Updating the deploy files - Text directions
3 pages
Adding nginx into the mix - Quiz
3 questions
Section 10: Creating a production server
03:23

Learn what makes a hosting provider good and then eventually choose one of the best cloud hosting providers available today.

01:38

Learn how to sign up with Digital Ocean and also receive $10 in free credits so you can follow along without investing anything extra.

Signing up with Digital Ocean - Text directions
1 page
05:11

Learn how to create a new droplet on Digital Ocean.

Creating a new droplet - Text directions
1 page
14:51

Learn how to update the deploy script so that you can provision a brand new server in seconds.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Nick Janetakis, Developer / Teacher / Entrepreneur

Hi, my name is Nick and I have been interested in software development and technology since the mid-1990s.

Over the years I've worked as a consultant doing contract work for various clients.

Nowadays I'm really into teaching and training but I'm always working on side projects and keeping up with the latest technology trends because it's my passion.

I routinely attend technical meetups in NYC and maybe I have met some of you already.

All of my courses have been created from experience I've gained while being in the trenches and figuring out things through real world experience.

Ready to start learning?
Take This Course