Docker for Professionals: The Practical Guide

Installing a software wasn't always this easy it required dedicated systems with hardware sets that catered to the needs of the software. You now want to port your software to another system? Another...

  • All levels
  • English

Course Description

Installing a software wasn't always this easy it required dedicated systems with hardware sets that catered to the needs of the software. You now want to port your software to another system? Another OS? It just couldn't be done! All of that was before Docker. So, what is Docker? Docker is a container that wraps a piece of software into a complete file system, including everything the file w...

Installing a software wasn't always this easy it required dedicated systems with hardware sets that catered to the needs of the software. You now want to port your software to another system? Another OS? It just couldn't be done! All of that was before Docker. So, what is Docker? Docker is a container that wraps a piece of software into a complete file system, including everything the file would require to run (code, runtime, system tools, etc.). It then allows you to ship and use this container on any environment, regardless of the system requirements or the operating system. Your app or system will become a portable container that you can use and discard as you please.

What you’ll learn
  • A brief introduction to DevOps
  • Docker-what it is, why it exists, its background and even an example
  • How to install and use the docker containers,
  • How to use Docker in software installations and understand its persistent storage
  • All the different kinds of containers and how to create and maintain networking in Docker
  • How to package software in images for Docker
  • How to build automation and advanced image considerations
  • Distributing your software and registries
  • Docker clusters, the Docker Machine and also Docker Swarm

Covering Topics

1
Section 1 : Introduction

2
Section 2 : Introduction to DevOps

3
Section 3 : Hello Docker!

4
Section 4 : Using Docker Containers

5
Section 5 : Using Docker in Software Installations

6
Section 6 : Persistent Storage

7
Section 7 : Networking in Docker

8
Section 8 : Using Isolation to Mitigate Risks

9
Section 9 : Packaging Software in Images

10
Section 10 : Build Automation and Advanced Image Consideration

11
Section 11 : Public and Private Software Distribution

12
Section 12 : Final Project

13
Section 13 : Summary

Curriculum

      Section 1 : Introduction
    1
    Introduction
      Section 2 : Introduction to DevOps
    2
    Introduction to DevOps
    3
    Infrastucture Needs For Agile Development
    4
    DevOps Misconceptions
      Section 3 : Hello Docker!
    5
    What is it?
    6
    Common Docker Use Cases
    7
    A Docker Example
      Section 4 : Using Docker Containers
    8
    Getting Assistance on Docker Command Line
    9
    LAB: Create a Service Monitor
    10
    The PID Namespace
    11
    Problems with Multiple Containers
    12
    Docker Human-Friendly Names - Part A
    13
    Docker Human-Friendly Names - Part B
    14
    Bundling Environment Variables
    15
    Recovering from Failures - Restarting
    16
    Process Manager
    17
    Containers Entry Point
      Section 5 : Using Docker in Software Installations
    18
    Using Docker in Software Installations
    19
    Docker Hub
    20
    Building Your Own Image
      Section 6 : Persistent Storage
    21
    Persistent Storage
    22
    How to Use Volumes?
    23
    LAB: Using Volumes to Create Persistent Data
    24
    The "Bind Mount" Volume Type
    25
    LAB: Create a Python Script Image for Parsing a CSV File
    26
    Sharing Volumes - The Host-Dependent Way
    27
    Generalized Volume Sharing
      Section 7 : Networking in Docker
    28
    Networking in Docker
    29
    Docker Network Model - Illustration
    30
    Closed Container
    31
    Containers Name Resolution - Part A
    32
    Containers Name Resolution - Part B
    33
    Controlling Connections to the Container
    34
    Joined Containers
    35
    How do Containers "Know" About Each Other?
      Section 8 : Using Isolation to Mitigate Risks
    36
    Security and Isolation
    37
    CPU Allowance
    38
    Assigning a CPU Set to the Container
    39
    Docker Users
    40
    LAB - Handling Permissions
      Section 9 : Packaging Software in Images
    41
    Software Packaging
    42
    Determining Changes
    43
    The Commit Command Options
    44
    The Commit Command and UFS
    45
    Image Layer Sizes and Limits
    46
    Working with Flat File Systems
      Section 10 : Build Automation and Advanced Image Consideration
    47
    Build Automation
    48
    Understanding Build Automation - An Explanation
    49
    LAB02: A Python Base Image
    50
    Exploring Base.df File
    51
    The ONBUILD Instruction
      Section 11 : Public and Private Software Distribution
    52
    Distributing Your Image
    53
    LAB01: Using a Hosted Registry
    54
    Different Methods to Distribute Your Image Using Docker
    55
    LAB02: Create a Hosted Repository Using an Automated Build
    56
    Publishing to Private Registries
    57
    Manual Image Publishing
    58
    LAB05: Using GitHub as a Sole Means of Distribution
      Section 12 : Final Project
    59
    Final Project Part A
    60
    Final Project Part B
      Section 13 : Summary
    61
    Summary

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.