The Docker for DevOps : From development to production

These days just building an app is not enough, developers are expected to know so much more. This includes not only how to develop an app but also deploy it. New developers are expected to know how to...

  • All levels
  • English

Course Description

These days just building an app is not enough, developers are expected to know so much more. This includes not only how to develop an app but also deploy it. New developers are expected to know how to manage the full life cycle of their web applications. This is why Docker is becoming more and more important in the world of app development. Docker is an open platform that allows developers to n...

These days just building an app is not enough, developers are expected to know so much more. This includes not only how to develop an app but also deploy it. New developers are expected to know how to manage the full life cycle of their web applications. This is why Docker is becoming more and more important in the world of app development. Docker is an open platform that allows developers to not only build but also ship their apps by using a container. A major benefit of this is automation, also known as DevOps. This philosophy seeks to break down the traditional barriers that exist between Development and Ops teams. For this Docker provides some great tools to help improve the application development process.

What you’ll learn
  • 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.

Covering Topics

1
Section 1 : Introduction

2
Section 2 : Updated Resource Files

3
Section 3 : Getting setup

4
Section 4 : Docker basics

5
Section 5 : Building a Dockerized web app

6
Section 6 : Dockerized Flask app

7
Section 7 : Dockerized Rails app

8
Section 8 : Spinning up a staging server

9
Section 9 : Crash course with systemd

10
Section 10 : Adding nginx into the mix

11
Section 11 : Creating a production server

12
Section 12 : Registering a domain name

13
Section 13 : Obtaining an SSL certificate

14
Section 14 : Where to go next?

15
Section 15 : Bonus lectures

Curriculum

      Section 1 : Introduction
    1
    What does the course cover? Preview
    2
    Dealing with issues
    3
    Life without Docker
      Section 2 : Updated Resource Files
    4
    Resource File
      Section 3 : Getting setup
    5
    Preparing your system for Docker Preview
    6
    Installing Docker
    7
    Installing additional Docker tools on Linux
    8
    Installing additional Docker tools
    9
    Installing Sublime Text Preview
      Section 4 : Docker basics
    10
    What is Docker?
    11
    Benefits of using Docker Preview
    12
    Docker hello world
    13
    Working with a Docker Registry
      Section 5 : Building a Dockerized web app
    14
    Setting up a project directory
      Section 6 : Dockerized Flask app
    15
    Project scaffolding
    16
    The Dockerfile
    17
    Building the app
    18
    Docker Compose
    19
    Alternative dev process
      Section 7 : Dockerized Rails app
    20
    Project scaffolding
    21
    The Dockerfile
    22
    Docker Compose
    23
    Building the app
    24
    Alternative dev process
      Section 8 : Spinning up a staging server
    25
    Benefits of a staging server
    26
    Picking an operating system
    27
    Why can t we use Vagrant?
    28
    Provisioning the staging server
    29
    Installing sudo
    30
    Setting a static IP address
    31
    Setting up SSH
    32
    Installing Docker
    33
    Operation automation
    34
    Pulling the Docker images
    35
    Pushing the web app
    36
    Securing your staging server
      Section 9 : Crash course with systemd
    37
    What is systemd?
    38
    Creating your first unit files
    39
    Exploring the updated deploy script
      Section 10 : Adding nginx into the mix
    40
    What is nginx?
    41
    Customizing the official nginx image
    42
    Creating self signed SSL certificates
    43
    Updating the deploy files
      Section 11 : Creating a production server
    44
    Picking a hosting provider
    45
    Signing up with Digital Ocean
    46
    Creating a new droplet
    47
    Preparing your droplet
      Section 12 : Registering a domain name
    48
    Picking a domain registrar
    49
    Purchasing and configuring a domain
      Section 13 : Obtaining an SSL certificate
    50
    Picking a certificate authority
    51
    Investigating Let s Encrypt
    52
    Using your certificates in production
    53
    Verifying the certificates are graded an A+
      Section 14 : Where to go next?
    54
    Congrats, you finished the main course
    55
    Adding more services to your web app
    56
    Planning to scale
    57
    Monitoring metrics and alerting
    58
    Exploring Continuous Integration (CI)
    59
    Centralized logging
    60
    Evaluating configuration management tools
      Section 15 : Bonus lectures
    61
    Course Resource File
    62
    Setting up automated database backups
    63
    Replacing Debian with CoreOS
    64
    Installing Docker on Windows or OSX without a graphical VM
    65
    Upgrading Docker 1.8.x to Docker 1.10.x
    66
    Upgrading Docker to 17.06

Frequently Asked Questions

It is an online tutorial that covers a specific part of a topic in several sections. An Expert teaches the students with theoretical knowledge as well as with practical examples which makes it easy for students to understand.

A Course helps the user understand a specific part of a concept. While a path and E-Degrees are broader aspects and help the user understand more than just a small area of the concept.

A Course will help you understand any particular topic. For instance, if you are a beginner and want to learn about the basics of any topic in a fluent manner within a short period of time, a Course would be best for you to choose.

We have an inbuilt question-answer system to help you with your queries. Our support staff will be answering all your questions regarding the content of the Course.