Introduction to Docker and the DCA Certification

Video description

Docker is a tool which has greatly simplified the task of packaging your application, along with all its dependencies into lightweight, portable units called containers. These containers are platform independent and can be executed on any host which runs a Linux kernel. Docker is one of the hottest tools in the market right now as a lot of teams have learned how to use it to break up their large, monolithic applications into smaller and more manageable units - often called microservices. This has allowed development teams to work on microservices independently and package it into a container once it is ready. Docker has also eased the pain of DevOps teams who often need to manage the deployment processes and environments - since containers can run independently of each other, they can simply focus on deploying containers rather than worrying about dependencies for each application. Container orchestration tools such as Docker Swarm and Kubernetes have made it very easy to deploy microservices to a cluster and scale them according to demand. For these reasons, Docker is a technology which you need to know if you're an app developer or DevOps engineer.

What You Will Learn

  • Improve your odds of passing the Docker Certified Associate exam
  • Understand how to package applications into portable and scalable containers
  • Deploy and scale applications in a cluster using Docker Swarm
  • Master the important aspects of Docker - Images, Volumes, Repos and Networks

Audience

Any app developer looking to make their applications portable and platform independent. DevOps engineers looking to simplify their CI/CD processes and deployment environments. Any professional who wishes to master Docker. Any individual looking to take and pass the Docker Certified Associate exam.

About The Author

Loonycorn: Loonycorn is Janani Ravi and Vitthal Srinivasan. Between them, they have studied at Stanford, been admitted to IIM Ahmedabad, and have spent years working in tech, in the Bay Area, New York, Singapore and Bangalore. Janani spent 7 years at Google (New York, Singapore); Studied at Stanford and also worked at Flipkart and Microsoft. Vitthal also worked at Google (Singapore) and studied at Stanford; Flipkart, Credit Suisse and INSEAD too. They think they might have hit upon a neat way of teaching complicated tech courses in a funny, practical, engaging way, which is why they are so excited to be here. They hope you will try their offerings, and you'll like them.

Table of contents

  1. Chapter 1 : Introduction
    1. You, This Course and Us
    2. The Requirement: A Portable Application
    3. The Solution: Containers
    4. Making Containers: Introducing Docker
  2. Chapter 2 : Docker Community Edition Installation
    1. Exploring Docker's Community and Enterprise Editions
    2. Docker Toolbox vs Docker for Mac
    3. Installation of Docker Toolbox
    4. Installation of Docker on Ubuntu
    5. Create your Docker ID
    6. Verify your Docker Installation
    7. Test your Docker Installation
  3. Chapter 3 : Docker Images
    1. Working With Docker: Images and Containers
    2. The Format of a Dockerfile
    3. The .dockerignorefile
    4. The Escape Parser Directive
    5. Our First Docker Image and Container
    6. More Dockerfile Instructions: RUN, ENV, WORKDIR
    7. Set the Container's Starting Point: The ENTRYPOINT Instruction
    8. Define a Build in a Base Image: The ONBUILD Instruction
    9. Stop a Container Once its Work is done: The STOPSIGNAL Instruction
    10. Share a Docker Image
    11. Pushing an Image to a Dockerhub Repo
    12. Another Way to Store Images: Saving to and Loading from .tar Files
    13. Search for Docker Images: The Docker search Command
    14. Examine your Image: The Docker inspect Command
    15. Cleaning up Images: Remove Unused and Dangling Images with Docker prune
    16. Deleting an Image: The Docker image rm command
  4. Chapter 4 : Docker Containers
    1. Container Basics: Create, Start and Stop
    2. Restarting a Container: The Docker restart Command
    3. Connect to a Container: The Docker attach Command
    4. Interacting with a Container: The Docker exec Command
    5. Examine your Container Using Docker inspect
    6. Debugging a Container: View Container Logs
    7. More Debugging: View Processes of a Running Container
    8. Cleaning up Containers: Remove Unused Containers with Docker prune
    9. Remove Specific Containers using Docker rm
    10. Dealing with a Zombie Container: The Docker kill Command
    11. Renaming a Docker Container
    12. What has Changed in my Container?: The Docker container diff Command
    13. Saving the Container State: The Docker container commit Command
    14. Mapping Container Ports to its Host
    15. Putting it together: From Dockerfile to an NGINX App
  5. Chapter 5 : Storage in Docker
    1. Managing Data in Docker
    2. Understanding Volumes
    3. Understanding Bind Mounts
    4. Understanding tmpfs Mounts
    5. Create a Volume
    6. Start a Container with a Volume
    7. Attach a Read-Only Volume to a Container
    8. Inspecting Details of a Volume
    9. Cleaning up Volumes: Prune Unused Volumes
    10. Observing Changes to a Volume
    11. Start a Container with a Bind Mount
    12. Start a Container with a tmpfs Mount
  6. Chapter 6 : Container Orchestration with Docker Swarm
    1. Introducing Container Orchestration and Docker Swarm
    2. Preparing a Cluster: Provision the Nodes of the Swarm
    3. Create the Swarm: Set up the Master and Worker Nodes
    4. Deploy a Service in the Swarm
    5. Scaling Our Service
    6. Inspecting the Nodes in a Swarm
    7. Take a Swarm Node Offline: Drain a Worker
    8. Update and Remove a Swarm Service
    9. Global Services: Deploy App to All Nodes in a Swarm
    10. Protect Sensitive Data: Creating Secrets
    11. Removing Nodes from a Docker Swarm
    12. Alter the Swarm Hierarchy - Promoting and Demoting Swarm Nodes
  7. Chapter 7 : Docker Networks
    1. The Different Network Drivers in Docker
    2. Create a Bridge Network
    3. Containers and Networks: Connecting and Disconnecting
    4. Inspect a Network
    5. The Network for Swarms: Creating an Overlay Network
    6. Creating a Host Network
    7. Network Cleanup: Pruning and Removing Networks
  8. Chapter 8 : Docker's Enterprise Edition and the Universal Control Plane (UCP)
    1. Installing Docker EE on Ubuntu
    2. Installing Universal Control Plane (UCP) on Ubuntu
    3. Who Uses Docker: Creating Users and Teams in UCP
    4. What Users Can Do: Granting Permissions
    5. Create Docker Objects in UCP: Creating a Volume from the Web UI
  9. Chapter 9 : The Docker Trusted Registry (DTR)
    1. DTR Installation
    2. Create a DTR Repo
    3. Pushing to and Pulling from DTR
    4. Delete Image from a DTR Repo
    5. Users and Teams in DTR
    6. Setting Permissions in DTR
  10. Chapter 10 : The Docker Certified Associate Exam
    1. The DCA Exam
    2. Exam Curriculum

Product information

  • Title: Introduction to Docker and the DCA Certification
  • Author(s): Loonycorn, Loonycorn
  • Release date: June 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789539097