Learn how to deploy Docker applications to production
4.3 (47 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.
1,365 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn how to deploy Docker applications to production to your Wishlist.

Add to Wishlist

Learn how to deploy Docker applications to production

Learn everything you need to put a Dockerized application into production and then automate the deploy
4.3 (47 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.
1,365 students enrolled
Created by Emmet O'Grady
Last updated 3/2016
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • 8 mins on-demand audio
  • 4 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Write scripts to deploy containers to production automatically
  • Design your own deployment workflow for putting changes into production
  • Containerize your own applications
View Curriculum
  • You should have a basic understanding of Docker before taking this course. You should know what an image is and how to build, push and pull images
  • You should have a local workstation with Docker installed
  • If you use Windows you will need a Unix flavoured VM in order to follow the examples in the "Automating with Ansible" section (Ansible doesn't work in Windows)

Get a jumpstart with how to use Docker in production.

The course is not a beginners guide to Docker, instead think of it as the next step after learning the basics. In particular, in this course you will learn how to put any application inside a container and then how to put that container into production in a safe and reliable way. You’ll learn how to deploy containers manually and also how to automate the deploy of your containers. At the end of the course you will be able to write automated deploy scripts for any docker application!

The curriculum

In the first section of this course we will introduce the application that we will work with during the lectures. In the next section we’ll take a step back and talk about the different workflows we could use to get our containers into production. The next section will show you how to deploy manually. Finally we’ll automate the deploy process using Ansible.

Now is the time to learn Docker

Docker is taking the industry by storm, it is completely revolutionizing how software is being developed, tested and deployed to production. Now is an ideal time to learn about Docker.

Who should take this course?

The ideal student for this course is someone in a software developer or devops role who wants to learn how to start using Docker in production. The course is also suited for QA automation roles who are interested in using Docker to test their applications automatically. The ideal student will already have a very basic understanding of what Docker is and how it works, but you will be curious as to how to run Docker in production. The course is perfect if you want to get some practical Docker experience for your CV or in preparation for your next project. Maybe you want to use Docker for a personal project, or maybe your company is adopting Docker and you want to get a head start, in these cases you’ll get a lot out of this course.

30 day money-back guarantee

This course comes with an unconditional, 30-day money-back guarantee. If you are dissatisfied with the course for any reason simply request a refund and I'll give you all your money back, no questions asked.

Who is the target audience?
  • The course is designed for people who have already learnt the basics of Docker and are ready for the next step: putting things into production
  • Anyone in a software developer, devops or QA role will find this course highly interesting
  • The code examples are in python but the course does not require knowledge of any programming language
  • The course will help you plan a deployment workflow (getting things into production) that works for your specific use case
Compare to Other Docker Courses
Curriculum For This Course
17 Lectures
Introduction to this Course
3 Lectures 14:09

In this short video I'll tell you the basic info you need to know before getting started with the course.

Preview 03:12

In this video you'll learn a little bit about me, your instructor.

Preview 02:38

In this video I want to share with you some of the reasons why I love Docker containers.
Why I love docker containers
Containerizing your app
5 Lectures 30:34

Here you'll get a sneak peek at what will be in this section: containerizing your application.


We'll have a quick look at the sample application that we will be containerizing in this section so that we are familiar with how it works.

Exploring the Application

In this video we'll look at the Dockerfile that will containerize our application. After this lecture you'll

understand why we need each line and you'll be able to begin writing your own Dockerfiles.

Our Dockerfile

In this video we will download a pre-built redis container and run it. Then we will start our application container and link them together. At the end of this lecture our application will be fully containerized!

Running our Application in Local

In this lecture we'll look at the docker-compose.yml file that will let us start up our containers with one simple command.

The Docker Compose File

A quick quiz to test you on some of the topics that we covered in this section.

2 questions
Deployment Workflows & Docker Registries
2 Lectures 10:13

In this lecture we'll look at two simple deployment workflows. We'll also discuss Registries and their role in the workflow.

Deployment Workflows & Docker Registries

If you want to set up your own private docker registry, do so now. Alternatively, if you want to use a service like DockerHub or Quay, sign up with them so you're ready to jump into the next section.

Deploying Manually
2 Lectures 16:59

After this lecture you will be able to deploy your containers to production. We'll also see how to deploy new versions of your applications when you make changes to them.

Deploying Manually

In this lecture we'll discuss some gotchas and improvements to the previous lecture. We'll talk about setting up DNS entries, zero-downtime deployment of docker containers and putting reverse proxies in front of your containers.

Gotchas & Improvements
Automating the deploy with Ansible
4 Lectures 17:56

In this video we'll introduce the idea of automating the deploy. We'll discuss Ansible and give you a very high level overview of what it is and how it works.

Preview 04:36

In this video we'll go into depth into the concepts of Ansible. After this you should be more comfortable writing Ansible playbooks for yourself.

Ansible Basics - Refresher

It's time to install Ansible if you haven't already installed it. In this lecture you'll install Ansible on your local machine.

Install Ansible

In this lecture we'll look at the ansible playbook which will deploy our application and we'll run the playbook for the first time against our own servers. After this we'll be able to run this script as many times as we want to, each time it will deploy our application to the latest version.

The Playbook
Final Words
1 Lecture 02:55

In this video we'll quickly recap over what we learned so that it's fresh in your mind.

Course Recap
About the Instructor
Emmet O'Grady
4.3 Average rating
47 Reviews
1,365 Students
1 Course
Software Engineer & Docker Ninja

My name is Emmet O’Grady, I’m Irish. I‘ve been a PHP software developer since aound 2010. I have been interested in Docker since it was in version 0.7, back then it wasn’t nearly as stable as it is now although even then it was gaining popularity very quickly.

My main programming language is PHP, I love PHP because there are fantastic frameworks that make web development a breeze with it. Some people tell me that PHP is an ugly language to code in, and yes, it’s true that PHP makes it easy to write hacky, dirty code. Buuut, if you know what you’re doing you can also write really beautiful code, and I love beautiful code.

In my day job I’m a PHP developer but I love doing “devopsy” things too. In particular I’m very interested in the workflow from development to production. I have a huge dislike for manual testing and I dream of continuous deployment workflows with fully automated test suites that cover most problems so that a developer can push and forget, knowing that their change will go into production automatically if everything is ok, and that bugs will be caught before they can cause trouble in production.

I work on web applications mostly and I'm a big fan of Docker. I run all of my personal projects in docker containers in production, at the moment I have about 20 different containers running in production. I also help the companies that I work in to use Docker in their own applications.

I’m the co-organizer of the Docker Meetup in Barcelona and I love teaching Docker to anyone who wants to learn. I’m hugely excited to teach on Udemy and I really hope you enjoy my courses.