Learning Path: Delivering Applications with Docker

Video description

Roll up your sleeves and get ready to put Docker to work—no prior container experience required. In this introductory Docker course, you'll learn how to create, deploy, and manage Docker images and containers. Beginning with single-app deployments and managing a database, all the way to building a dynamic architecture with automated service discovery, the course gives examples and code for building and deploying your apps in a Docker environment. By course end, you'll know how to use Docker to build apps quickly and run them anywhere.

What you’ll learn—and how you can apply it

  • Understand the basics of creating and operating containerized architecture
  • Learn how to use Docker to containerize your software delivery process
  • Explore Docker images, networking, volumes, Docker Compose, and Docker Swarm
  • Learn how to orchestrate containers and leverage them for microservices
  • Understand how to use Docker containers in production and for continuous delivery

This Learning Path is for you because…

  • You're an intermediate level developer who wants to learn how to use containers to deploy software
  • You're an ops professional who wants to take advantage of the scaling, resiliency, and portability offered by containers
  • You work as part of team that wants to use containers to deliver software

Prerequisites:

  • Some experience with delivering software
  • A computer set-up with Linux
  • Basic familiarity with Linux CLI
Materials or downloads needed in advance: None

Table of contents

  1. Introduction
    1. Introduction
    2. About The Author
    3. Containers
    4. Docker Architecture
  2. Getting Started
    1. Linux Setup
    2. Docker Toolbox (Mac)
    3. Docker Machine
    4. Docker Hub Setup
  3. Docker Containers
    1. Getting Started With Containers
    2. Running Containers
    3. Running Containerized Web Applications
    4. Configuring Containerized Applications
    5. Container Lifecycle
    6. Restart Policy
    7. Debugging Containers
  4. Docker Images
    1. Docker Images
    2. Images On Docker Hub
    3. Building Images
    4. Dockerfile
    5. Web Application Images
    6. Command And Entrypoint
    7. Build Triggers
    8. Publishing
  5. Networking
    1. Docker Networking
    2. User Defined Bridge Networks
    3. Docker DNS In User Defined Networks
  6. Volumes
    1. Data Volumes
    2. Data Volume Containers
  7. Docker Compose
    1. Docker Compose
    2. Composing Services
    3. Building Applications With Docker Compose
  8. Docker Extras
    1. Docker Swarm
    2. Overlay Networks
    3. Kitematic
    4. Logging Drivers
    5. Private Docker Registry
  9. Course Wrap Up
    1. Course Wrap Up
  10. Introduction
    1. Course Introduction
    2. About The Author
    3. Advantages Of Container-Based Architecture
    4. The Emerging Microservices Architectural Pattern
  11. Deploying Monolithic/Singer-Service Applications
    1. Server Setup, Building Deploying A Single Application
    2. Local-Development Workflow
    3. Local-Development With A Database
    4. Working With Production Dabases
    5. Backing Up And Restoring Database Data
  12. Continous Deployment With CircleCI
    1. Continuous Testing
    2. Continuous Deployment From A Master Branch
    3. Continuous Deployment For Other Environments
  13. Introduction To Services And Microservices
    1. Why Services And Microservices Can Work So Well
    2. Why Docker Is The Perfect Fit For Microservices
    3. 3 Quick Wins Of A Good Microservice
    4. The Journey Of Breaking A Monolith Into Microservices
  14. Service Discovery - The Big "New" Piece
    1. The Role Of Service Discovery In Disposable Infrastructure
    2. Service Registration With Etcd
    3. Service Registration With Consul
  15. Dynamic Architecture/Nodes
    1. Creating A "Swarm" Of Docker Servers
    2. Deploying Applications To Your Swarm
    3. Adding Tags To Control Container Placement
    4. Security Concerns With Docker Swarm
  16. Dynamic Registration Discovery
    1. Service Discovery Patterns
    2. Getting Our Registry Up And Going
    3. Service Self-Registration
    4. Sidekick Service Registration
    5. Automated Container Registration
    6. Dynamic Load Balancing
    7. Dynamic Load Balancing Code Walkthrough
    8. SSL Termination
    9. Docker Anti-Patterns
  17. Deployment Strategies
    1. Rolling Deployments With Multiple Containers
    2. Red-Black Deployments
    3. Blue-Green Deployments
    4. Multiple-Running-Version Deployments
  18. Conclusion
    1. Wrap-Up And Thank You

Product information

  • Title: Learning Path: Delivering Applications with Docker
  • Author(s): O'Reilly Media, Inc.
  • Release date: April 2017
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491989005