We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

The Docker for DevOps course

From development to production

Nick Janetakis

From Docker novice to DevOps expert in 7 hours

Read more

From Docker novice to DevOps expert in 7 hours

Huge update for 2020: Many videos from this course were completely re-recorded to bring everything up to date. All of the Docker content is up to date as well as all of the other technologies we use, such as nginx, Ubuntu, Debian and more.

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 This means BOTH developing and deploying your apps.

Here's your chance to

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

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.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Introduction

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

Read more
Dealing with issues

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!

Test your knowledge of this section.

Getting setup

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

Preparing your system for Docker - Text directions

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

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

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

Test your knowledge of this section.

Docker basics

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.

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.

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

Docker hello world - Text directions

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

Working with a Docker Registry - Text directions
Building a Dockerized web app

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
Dockerized Flask app

Create the basis of a Flask application.

Project scaffolding - Text directions

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

The Dockerfile - Text directions

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

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

Building the app - Text directions
Dockerized Rails app

Create the basis of a Ruby on Rails application.

Learn about what problems a Dockerfile solves and how to create a production ready Dockerfile to run a Ruby on Rails application.
Learn how to use Docker Compose to manage multiple Docker containers.
Create a 12 factor Ruby on Rails application which is optimized for both development and production.
Spinning up a staging server

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

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

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

Walk through the steps of provisioning a staging server.

Provisioning the staging server - Text directions

Learn how to install sudo on the staging server.

Installing sudo - Text directions

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

Learn how to configure SSH securely on the staging server.

Setting up SSH - Text directions

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

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

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

Pulling the Docker images - Text directions

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

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

Securing your staging server - Text directions
Spinning up a staging server - Quiz
Crash course with systemd

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

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

Creating your first unit files - Text directions

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
Crash course with systemd - Quiz
Adding nginx into the mix

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

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

Learn how to create proper self signed SSL certificates.

Create self signed SSL certificates - Text directions

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
Adding nginx into the mix - Quiz
Creating a production server

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

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

Learn how to create a new droplet on Digital Ocean.

Creating a new droplet - Text directions

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

Preparing your droplet - Text directions
Creating a production server - Quiz
Registering a domain name

Learn what makes a domain registrar good. The one we use has some of the best prices available and is feature rich.

Picking a domain registrar - Text directions

Learn how to buy a domain name and configure it so that it works with the server you created in the previous section.

Registering a domain name - Quiz
Obtaining an SSL certificate

Learn what makes different SSL certificate authorities good or bad.

Learn how to obtain an SSL certificate for free.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores Docker, which is standard in DevOps and other related fields
Provides hands-on labs and interactive materials
Taught by Nick Janetakis, who is recognized for their expertise in Docker
Focuses on both general DevOps skills and Docker, which are highly relevant in industry
Starts from the basics and brings learners to an advanced level of expertise with Docker and DevOps
Provides an extensive array of lectures, videos, and resources

Save this course

Save The Docker for DevOps course: From development to production to your list so you can find it easily later:
Save

Reviews summary

Docker course for beginners

According to students, this Docker for DevOps course is well received and gives a good overview of Docker. Learners say the course's content is engaging and they learned a lot.

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Docker for DevOps course: From development to production with these activities:
Practice Docker Commands
Regular practice with Docker commands will solidify your understanding and fluency.
Browse courses on Docker CLI
Show steps
  • Create a Dockerfile for a simple application
  • Build and run the Docker image
  • Execute commands within the Docker container
Build a Flask Web Application with Docker
Applying your knowledge to a real-world project will reinforce your understanding and provide practical experience.
Browse courses on Flask
Show steps
  • Create a new Flask project
  • Write the necessary Python code
  • Create a Dockerfile to build the image
  • Deploy the application to a cloud platform
Show all two activities

Career center

Learners who complete The Docker for DevOps course: From development to production will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
The Docker for DevOps course, instructs students on how to get their development environments set up to run Docker. It also covers Docker basics and teaches students how to complete a hello world example. Students also learn how to Dockerize a Flask or Ruby on Rails application and pick up a few best practices on how to create a production ready application with those frameworks. This course may be useful in helping someone prepare for a role as a DevOps Engineer.
Systems Administrator
The Docker for DevOps course covers how to provision and set up a staging server. Students will get a crash course with systemd and learn how to add nginx into the mix. This course may be useful for someone who wants to become a Systems Administrator.
Web Developer
The Docker for DevOps course covers how to use Docker to deploy web applications. Students also learn how to serve their web app securely over SSL (HTTPS). This course may be useful for someone who wants to become a web developer.
Software Engineer
The Docker for DevOps course is perfect for someone looking to further their career by picking up years worth of general DevOps skills. Students will learn how to develop and deploy a multi-service Flask and Ruby on Rails application. This course may be useful for someone who wants to become a Software Engineer.
Cloud Architect
The Docker for DevOps course covers how to create a production server and how to register a domain name. Students will also learn how to obtain an SSL certificate. This course may be useful for someone who wants to become a Cloud Architect.
Project Manager
The Docker for DevOps course will teach students how to manage multiple Docker containers. Students will also learn how to automate deployment and how to secure their staging server. This course may be useful for someone who wants to become a Project Manager.
IT Consultant
The Docker for DevOps course covers a wide range of topics around both DevOps and Docker. Students will learn about Docker basics, how to build a Dockerized web app, and how to set up a staging server. This course may be useful for someone who wants to become an IT Consultant.
Database Administrator
The Docker for DevOps course will teach students how to design and implement database systems. Students will also learn how to troubleshoot and maintain database systems. This course may be useful for someone who wants to become a Database Administrator.
Business Analyst
The Docker for DevOps course will teach students how to understand and analyze the business needs of their clients. Students will also learn how to communicate technical information to non-technical stakeholders. This course may be useful for someone who wants to become a Business Analyst.
Technical Writer
The Docker for DevOps course will teach students how to write clear and concise technical documentation. Students will also learn how to use industry-standard tools for writing and publishing technical documentation. This course may be useful for someone who wants to become a Technical Writer.
Network Engineer
The Docker for DevOps course will teach students how to design and implement computer networks. Students will also learn how to troubleshoot and maintain network systems. This course may be useful for someone who wants to become a Network Engineer.
Data Scientist
The Docker for DevOps course will teach students how to manage and analyze large datasets. Students will also learn how to use machine learning and artificial intelligence to solve business problems. This course may be useful for someone who wants to become a Data Scientist.
Systems Analyst
The Docker for DevOps course will teach students how to analyze and design computer systems. Students will also learn how to implement and maintain computer systems. This course may be useful for someone who wants to become a Systems Analyst.
Security Analyst
The Docker for DevOps course will teach students how to identify and mitigate security threats. Students will also learn how to develop and implement security policies. This course may be useful for someone who wants to become a Security Analyst.
Software Tester
The Docker for DevOps course will teach students how to test and evaluate software systems. Students will also learn how to use industry-standard tools for testing and evaluating software systems. This course may be useful for someone who wants to become a Software Tester.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Docker for DevOps course: From development to production.
Guide to using Docker and Kubernetes for DevOps engineers. It covers everything from setting up your first Docker container to deploying a complex multi-container application on Kubernetes. The book is written by a DevOps engineer, and it is packed with practical advice and real-world examples.
Is the official guide to using Docker Compose. It covers everything from setting up your first Docker Compose project to deploying a complex multi-container application on Compose. The book is written by the Docker team, and it is packed with practical advice and real-world examples.
Comprehensive guide to DevOps, a set of practices that combine software development and IT operations.
Practical guide to using Docker for developers. It covers everything from setting up your first Docker container to deploying a complex multi-container application. The book is written by a Docker engineer, and it is packed with practical advice and real-world examples.
Provides a comprehensive overview of Kubernetes, the leading container orchestration platform.
Deep dive into the inner workings of Docker. It covers everything from the Docker architecture to the Docker API. The book is written by a Docker engineer, and it is packed with technical details and real-world examples.
Comprehensive guide to site reliability engineering (SRE), a set of practices that Google uses to manage its large-scale production systems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to The Docker for DevOps course: From development to production.
Docker - SWARM - Hands-on - DevOps
Most relevant
Docker Crash Course for busy DevOps and Developers
Docker Mastery: with Kubernetes +Swarm from a Docker...
Scaling up SharePoint Framework Development for...
Docker for the Absolute Beginner - Hands On - DevOps
DevOps MasterClass 2024: Terraform Kubernetes Ansible...
Docker for Node.js Projects From a Docker Captain
Kubernetes Mastery: Hands-On Lessons From A Docker Captain
Docker for Java Developers
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser