4.11 out of 5
4.11
1576 reviews on Udemy

The Docker for DevOps course: From development to production

Updated for Docker v18.09+. Learn how to build and deploy web applications with Docker in an automated way.
Instructor:
Nick Janetakis
10,687 students enrolled
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

From Docker novice to DevOps expert in 7 hours

Update: Added a new bonus lecture that covers updating the examples in this course to work with Docker v18.09+ along with the latest Docker Compose.

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.

Introduction

1
What does the course cover?

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

2
Dealing with issues
3
Life without Docker

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!

4
Introduction - Quiz

Test your knowledge of this section.

Getting setup

1
This Course Has Updates!
2
Preparing your system for Docker

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

3
Preparing your system for Docker - Text directions
4
Installing Docker

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.

5
Installing Docker - Text directions
6
Installing additional Docker tools

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.

7
Installing additional Docker tools - Text directions
8
Installing Sublime Text

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.

9
Installing Sublime Text - Text directions
10
Getting setup - Quiz

Test your knowledge of this section.

Docker basics

1
What is Docker?

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.

2
Benefits of using Docker

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.

3
Docker hello world

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

4
Docker hello world - Text directions
5
Working with a Docker Registry

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

6
Working with a Docker Registry - Text directions
7
Docker basics - Quiz

Test your knowledge of this section.

Building a Dockerized web app

1
Setting up a project directory

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

2
Setting up a project directory - Text directions
3
Building a Dockerized web app - Quiz

Test your knowledge of this section.

Dockerized Flask app

1
Project scaffolding

Create the basis of a Flask application.

2
Project scaffolding - Text directions
3
The Dockerfile

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

4
The Dockerfile - Text directions
5
Building the app

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

6
Building the app - Text directions
7
Did you get setup locally?
8
Docker Compose

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

9
Docker Compose - Text directions
10
Alternative dev process

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

11
Dockerized Flask app - Quiz

Test your knowledge of this section.

Dockerized Rails app

1
Did you follow along with Flask?
2
Project scaffolding

Create the basis of a Ruby on Rails application.

3
Project scaffolding - Text directions
4
The Dockerfile
Learn about what problems a Dockerfile solves and how to create a production ready Dockerfile to run a Ruby on Rails application.
5
The Dockerfile - Text directions
6
Docker Compose
Learn how to use Docker Compose to manage multiple Docker containers.
7
Building the app
Create a 12 factor Ruby on Rails application which is optimized for both development and production.
8
Building the app - Text directions
9
Did you get setup locally?
10
Alternative dev process

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.

11
Dockerized Rails app - Quiz

Test your knowledge of this section.

Spinning up a staging server

1
Benefits of a staging server

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

2
Picking an operating system

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

3
Why can't we use Vagrant?

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

4
Did you follow along with Rails?
5
Provisioning the staging server

Walk through the steps of provisioning a staging server.

6
Provisioning the staging server - Text directions
7
Installing sudo

Learn how to install sudo on the staging server.

8
Installing sudo - Text directions
9
Setting a static IP address

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

10
Setting a static IP address - Text directions
11
Setting up SSH

Learn how to configure SSH securely on the staging server.

12
Setting up SSH - Text directions
13
Installing Docker

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

14
Installing Docker - Text directions
15
Operation automation

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.

16
Operation automation - Text directions
17
Pulling the Docker images

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

18
Pulling the Docker images - Text directions
19
Pushing the web app

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.

20
Pushing the web app - Text directions
21
Securing your staging server

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

22
Securing your staging server - Text directions
23
Spinning up a staging server - Quiz

Crash course with systemd

1
What is systemd?

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

2
Creating your first unit files

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

3
Creating your first unit files - Text directions
4
Exploring the updated deploy script

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.

5
Exploring the updated deploy script - Text directions
6
Crash course with systemd - Quiz

Adding nginx into the mix

1
What is nginx?

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

2
Customizing the official nginx image

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.

3
Customizing the official nginx image - Text directions
4
Creating self signed SSL certificates

Learn how to create proper self signed SSL certificates.

5
Create self signed SSL certificates - Text directions
6
Updating the deploy files

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.

7
Updating the deploy files - Text directions
8
Adding nginx into the mix - Quiz

Creating a production server

1
Picking a hosting provider

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

2
Signing up with Digital Ocean

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

3
Signing up with Digital Ocean - Text directions
4
Creating a new droplet

Learn how to create a new droplet on Digital Ocean.

5
Creating a new droplet - Text directions
6
Preparing your droplet

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

7
Preparing your droplet - Text directions
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.1
4.1 out of 5
1576 Ratings

Detailed Rating

Stars 5
690
Stars 4
554
Stars 3
223
Stars 2
68
Stars 1
41
b6ed3f1eae071956a5aa1b4322e58c8e
30-Day Money-Back Guarantee

Includes

7 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion