Paths

Managing Containers with Docker

Authors: Nigel Brown, David Clinton, Wes Higbee, Nigel Poulton, Elton Stoneman

Containers represent a higher-density kind of "virtualization" that can meet the needs of certain scenarios better than traditional hypervisors. Here you'll learn everything you... Read more

Beginner

Get the basics of containers and Docker under your belt.

Docker and Containers: The Big Picture

by Nigel Poulton

Dec 22, 2015 / 1h 47m

1h 47m

Start Course
Description

Docker and containers are a whole new way of developing and delivering applications and IT infrastructure. In this course, you'll learn how this is going to impact you as an individual as well as the teams and organizations you work for. This course will cover Docker and containers, container registries, container orchestration, whether this stuff is for the enterprise, and how to prepare yourself for it.

Table of contents
  1. Course Overview1m
  2. Course Introduction2m
  3. What Are Containers?20m
  4. What Is Docker?16m
  5. Preparing to Thrive in a Container World12m
  6. What Kind of Work Will Containers Do?12m
  7. Docker Hub and Other Container Registries14m
  8. Are Docker and Containers Ready for Production and the Enterprise?14m
  9. What Is Container Orchestration All About?8m
  10. What Next?3m

Getting Started with Docker

by Nigel Poulton

Aug 1, 2016 / 2h 12m

2h 12m

Start Course
Description

There have been some major changes to Docker that were introduced with Docker 1.12, and this course, Getting Started with Docker, will help get you up to speed. You'll start with installing Docker on the most common development and production platforms - Windows and Mac laptops, Windows Server 2016, and Linux. Next, you'll get to see some fundamental concepts of containers and images, including how to perform common management tasks. You'll also spend a good deal of time covering all the new stuff introduced with Docker 1.12, including Swarm mode, services, scaling, rolling updates, stacks, and distributed application bundles. After this course, you'll be up and running with some of the game-changing improvements announced with Docker 1.12 and have a solid understanding of the fundamentals of Docker.

Table of contents
  1. Course Overview1m
  2. Course Introduction3m
  3. Installing Docker31m
  4. Working with Containers29m
  5. Swarm Mode and Microservices1h 3m
  6. What Next!3m

Getting Started with Docker Swarm Mode

by Wes Higbee

Mar 31, 2017 / 6h 10m

6h 10m

Start Course
Description

The docker engine on a single node revolutionized how we run applications. But in production environments, you need more capacity and reliability than a single node can offer. In this course, Getting Started with Docker Swarm Mode, you'll learn how to control a cluster of nodes as easily as a managing a single node. First, you'll discover how to set up a swarm, add nodes, and launch services that describe containers. Next, you'll explore how to route traffic to the cluster and within the cluster, ensure containers recover from failures. Then, you'll learn how to roll out updates and deploy multi application stacks. Finally, you'll cover how to leverage integrated health checking and protect sensitive information with secrets. By the time you're done with this course, you'll have the knowledge to deploy your own swarm.

Table of contents
  1. Course Overview1m
  2. Why Multiple Container Hosts?42m
  3. Creating a Swarm and Running a Service42m
  4. Adding Nodes54m
  5. Ingress Routing and Publishing Ports21m
  6. Reconciling a Desired State22m
  7. Rolling Updates52m
  8. Container to Container Networking36m
  9. Deploying with Stacks25m
  10. Health Checking45m
  11. Protecting Secrets25m

Securing the Docker Platform

by Nigel Brown

Jun 21, 2018 / 4h 6m

4h 6m

Start Course
Description

Docker containers are in widespread use as the distribution vehicle for cloud native application services. An important enabler in the process of building, packaging, and running those containers is the Docker platform, which is comprised of several parts. In this course, Securing the Docker Platform, you'll learn about the fundamental aspects of security that relate to the platform components. First, you'll gain a better understanding of the platform components involved and the means of measuring compliance against an industry benchmark standard. Next, you'll discover how to configure the Docker daemon for best practice security, as well as for more flexible access control and authentication. Finally, you'll explore how to apply security controls to other aspects of the platform including a self-hosted Docker registry and a Swarm cluster. By the end of this course, you'll have the necessary knowledge to configure, measure, and optimize effective Docker platform security.

Table of contents
  1. Course Overview1m
  2. Establishing a Baseline for Docker Platform Security28m
  3. Optimizing the Configuration of the Docker Host45m
  4. Configuring the Docker Daemon for Security44m
  5. Enhancing Access Control to the Docker Platform34m
  6. Deploying a Secure Docker Registry50m
  7. Managing Security in a Docker Swarm Cluster38m
  8. Wrapping Up3m

Getting Started with Docker on Windows

by Wes Higbee

Dec 13, 2016 / 5h 41m

5h 41m

Start Course
Description

Docker simplifies running software, and now with the release of Windows containers, you can run just about any software with a consistent set of commands thanks to Docker. In this course, Getting Started with Docker on Windows, you'll learn how to use containers in Windows environments, both Linux and Windows containers. You'll see how to use Docker for Windows on workstations and how to use the Docker Engine in server environments. Along the way, you'll see how containers simplify finding, downloading, installing, starting, stopping, and uninstalling software. You'll also see how container isolation provides security and simplicity. You will learn how to build your own images and how to run command line apps, web servers, databases, and other apps in containers. Finally, you'll learn how to easily orchestrate complex applications with docker-compose. By the time you're done with this course, you'll know how to use Docker to simplify software management.

Table of contents
  1. Course Overview1m
  2. What Is a Container?41m
  3. Installing Docker for Windows53m
  4. Installing Docker on Windows Server1h 9m
  5. Running Command Line Apps in Containers39m
  6. Building Images to Host Web Sites46m
  7. Running Databases in Containers42m
  8. Composing Applications with docker-compose48m

Intermediate

Firm up your Docker and container skills to production level.

Docker Networking

by Nigel Poulton

Feb 8, 2017 / 1h 49m

1h 49m

Start Course
Description

Docker is the new platform for developing and hosting modern applications. In this course, Docker Networking, you will learn everything you need to know about deploying and managing Docker networks. First, you'll learn about the Container Network Model (CNM) and Libnetwork, which are the foundation of all Docker networks. Next, you will delve into building and managing single-host and multi-host networks. Finally, you will learn how to build container networks that integrate with existing VLANs and application networks. When you are finished with this course, you'll have the skills and knowledge needed to start deploying and managing Docker networks within your organization.

Table of contents
  1. Course Overview1m
  2. The Basics25m
  3. Use Cases and Drivers50m
  4. Network Services31m

Implementing a Self-hosted Docker Registry

by Wes Higbee

Jun 5, 2018 / 4h 8m

4h 8m

Start Course
Description

What would Docker be without Docker Hub? If it were not for images, you would never have heard of Docker, and that's because simplifying image distribution is what made Docker exponentially useful. Initially the images on Docker Hub suffice, but at some point, as you begin to build your own images, you'll outgrow storing them on Docker Hub for a variety of reasons. In this course, Implementing a Self-hosted Docker Registry, we will dissect deploying your own registry in the following scenarios. First, you will learn to take total control of a registry, perhaps as a matter of compliance, and learn to distribute sensitive images privately. Next, you will see how to co-locate a registry for performance reasons, to save bandwidth, or to mirror Docker Hub images to a local registry cache. Then, you will explore the internal workings of a registry and gain flexibility in securing your registry. Finally, you will be able to standardize application packaging and distribution within your organization using Docker images, to reap the same benefits that Docker Hub brought to open-source public applications. By the end of this course, you'll be well prepared to deploy your own self-hosted registry.

Table of contents
  1. Course Overview1m
  2. Deploying Your First Registry to Distribute Images43m
  3. Registry Mirroring with a Pull-through Cache27m
  4. Automating Builds with Notifications57m
  5. Cleaning up Images and Configuring Storage51m
  6. Securing the Registry44m
  7. Preparing a Production Cluster Registry23m

Securing Docker Container Workloads

by Nigel Brown

Jan 22, 2018 / 3h 13m

3h 13m

Start Course
Description

Packaging, distributing, and running software applications in containers is no longer a pastime just for early adopters. Containers are mainstream, and with that comes a concern about the security and integrity of containers as an application delivery mechanism. In this course, Securing Docker Container Workloads, you'll learn how to secure your application workloads from the perspective of the container itself. First, you'll learn about the Linux security mechanisms that go together to create the abstract concept of the container, and how they work together to ensure that containers are good neighbors. Next, you'll explore the privileges that are available to container workloads, and how you can adopt and apply the principle of least privilege to reduce the risk of privilege escalation. Finally, you'll see how to minimize the attack surface available from within a container by limiting the access it has to the kernel and other system objects. By the end of this course, you'll be equipped with the knowledge and techniques necessary for securing your Docker container workloads.

Table of contents
  1. Course Overview1m
  2. Isolating Container Workloads with Linux Namespaces27m
  3. Controlling Access to Resources Using Control Groups34m
  4. Managing the Privileges Available to a Container Workload44m
  5. Limiting the System Calls Available to Container Workloads36m
  6. Implementing Access Control for Container Workloads48m

Managing Docker Images

by David Clinton

Feb 23, 2017 / 1h 6m

1h 6m

Start Course
Description

At the core of successfully running Docker container deployments is a thorough knowledge of the creation and administration of Docker images. In this course, Managing Docker Images, you'll explore image creation and administration best practices. First, you'll explore all the main image management options currently available. Next, you'll discover how to build, store, and share images through Docker Hub and Docker Cloud. Finally, you'll learn how to host a private image repository using Docker Registry. When you’re finished with this course, you'll have a foundational knowledge of installing, running, and securing Docker images that will help you as you move forward towards managing entire Docker container clusters.

Table of contents
  1. Course Overview1m
  2. Introduction to Docker Images12m
  3. Managing Images Using Docker Hub15m
  4. Installing a Private (And Free) Docker Registry11m
  5. Securing Your Images in Transit13m
  6. Other Image Managing Tools13m

Managing Load Balancing and Scale in Docker Swarm Mode Clusters

by Elton Stoneman

Mar 23, 2018 / 1h 58m

1h 58m

Start Course
Description

Docker swarm mode is a production-grade container orchestrator with built-in features for load-balancing and scaling your applications. In this course, Managing Load Balancing and Scale in Docker Swarm Mode Clusters, you'll learn how to deploy and manage applications in swarm mode for high availability, high performance, and easy scale. First, you'll learn how load balancing and service discovery works in swarm mode. Then you'll learn how to scale your services and your swarm - with Linux and Windows nodes. Finally, you'll learn how to run multiple applications and maximize the use of your cluster, and how swarm mode supports production maintenance and deployment. When you’re finished with this course, you will have the skills and knowledge to run performance reliable apps in production with Docker swarm mode.

Table of contents
  1. Course Overview1m
  2. Understanding Load Balancing and Service Discovery30m
  3. Scaling Services and Nodes in Swarm Mode24m
  4. Managing Request Routing and Data Storage29m
  5. Supporting Production Maintenance and Deployments31m

Docker Deep Dive

by Nigel Poulton

Jan 4, 2018 / 4h 40m

4h 40m

Start Course
Description

Containers are one of the hottest topics in IT, and it’s hard to know where to start. In this course, Docker Deep Dive, you'll go from zero-to-Docker by learning everything you need to know to take your career to the next level and give you the confidence to start working with containers. First, you’ll explore the basics of what containers are and the foundational technologies that make them possible on Linux and Windows. Then, you’ll discover the core concepts of images and containers – how to build, manage, and work with them. Finally, you’ll dive into orchestration and some of the enterprise features that are now available. When you’re finished with this course, you'll be prepared for most of the topics presented on the Docker Certified Associate exam, and be ready to work with containers.

Table of contents
  1. Course Overview1m
  2. Course Intro9m
  3. Installing Docker8m
  4. Architecture and Theory36m
  5. Working with Images34m
  6. Containerizing an App29m
  7. Working with Containers25m
  8. Building a Secure Swarm24m
  9. Container Networking18m
  10. Working with Volumes and Persistent Data14m
  11. Working with Secrets16m
  12. Deploying in Production with Stacks and Services19m
  13. Enterprise Tooling37m
  14. What Next4m

Advanced

Containers are as much about software as about operations, and these courses help you understand the application driven needs and concerns.

Containerizing a Software Application with Docker

by Nigel Brown

Aug 25, 2017 / 2h 20m

2h 20m

Start Course
Description

With the advent of the microservices architecture pattern and enabling technologies such as containers, the way applications are being architected and delivered is changing. Packaging software applications into read-only template images in order to derive immutable application containers, is a key ingredient in this approach, and Docker is at the forefront. In this course, Containerizing a Software Application with Docker, you'll learn how to package a software application into a Docker image. First, you'll explore the nature of Docker images, and their relationship with containers. Next, you'll master how to create Docker images, including authoring a Docker image for a real software application using a Dockerfile. Finally, you'll discover how to name and share Docker images with a wider audience. By the end of this course, you'll have gained the required knowledge of techniques and best practice to get started with containerizing your own software applications.

Table of contents
  1. Course Overview1m
  2. The Purpose of Docker Images6m
  3. Committing Containers to Images22m
  4. Building Docker Images19m
  5. Authoring Docker Images with Dockerfiles40m
  6. Authoring a Nginx Docker Image33m
  7. Tagging and Pushing Docker Images17m

Monitoring Containerized Application Health with Docker

by Elton Stoneman

Aug 8, 2018 / 2h 43m

2h 43m

Start Course
Description

It's easy to run new and old applications in Docker, but you can't put containerized apps into production without monitoring. In this course, Monitoring Containerized Application Health with Docker, you'll learn how to implement effective monitoring for Linux and Windows containers. First, you'll learn how to gather and visualize metrics from containers using Prometheus and Grafana. Next, you'll see how to add metrics to your application, and export metrics from the Java and .NET runtimes and from the Docker platform. Finally, you'll explore how to build an effective dashboard with a single view over the health of your whole application. When you're finished with this course, you'll be ready to add monitoring to your application and move confidently to production.

Table of contents
  1. Course Overview1m
  2. Architecting Monitoring for Containerized Applications22m
  3. Collecting Metrics with Prometheus27m
  4. Exposing Runtime Metrics to Prometheus25m
  5. Exposing Application Metrics to Prometheus29m
  6. Exposing Docker Metrics to Prometheus24m
  7. Building Dashboards with Grafana31m

What you will learn

  • What are containers?
  • What is Docker?
  • Container registries
  • Container orchestration
  • Core Docker technologies
  • Docker swarm clustering

Pre-requisites

No experience is necessary. According to the Docker website, you don't need to be experienced using a command line, but you should be familiar with how to open one and type commands.