O'Reilly logo
live online training icon Live Online training

Docker Containers and Web Apps in Azure

Become an expert in Azure App Service Web App for Containers

Jim Cheshire

With the recent release of Web App for Containers, it’s now possible to host your Docker containers in a Web App running in Azure App Service. However, running Docker containers in a PaaS environment isn’t the same as running them in your own environment. It’s important to understand how to configure your app and how to troubleshoot when things go wrong.

This course will give you hands-on experience in using and troubleshooting Web App for Containers.

What you'll learn-and how you can apply it

The architectural basics of Web App for Containers and how to:
- Create Web App for Containers apps
- Configure your app in order to avoid problems
- Use App Service Diagnostics to troubleshoot problems if they do occur
- Build your own Docker containers and how to use continuous deployment with GitHub and Docker Hub

Common Misunderstandings
- Specific requirements for Docker containers running in Web App for Containers
- How Docker works in Web App for Containers, especially when starting a container
- How the App Service architecture impacts Web App for Containers

This training course is for you because...

  • You have Docker containers running elsewhere and you want to host them on Azure App Service
  • You are interested in taking advantage of Docker containers and you want to know how to get up and running in Azure App Service
  • You’re currently using Web App for Containers and you want to become more proficient
  • You are interested in learning more about Web App for Containers for any reason

Prerequisites

  • An Azure subscription. (Free trial subscription or a paid subscription.)
  • A basic understanding of Docker and Docker terminology such as Docker image, Docker container, pulling images, etc (Getting Started with Docker is a good resource)
  • A basic understanding of Azure App Service (My LiveLessons course, Azure App Service Web Apps: Configuring and Troubleshooting is a good resource)
  • A GitHub account and a Docker Hub account (Free account is perfectly fine.)

Materials will be available via a GitHub repository.

Resources
- Learning Microsoft Azure - This will give you an introduction to Azure. The whole video isn’t necessary, but the portions that cover using the Azure portal are especially helpful
- Learning Path: GitHub - The second section, Basics, will be helpful if you aren’t currently familiar with using GitHub
- Building Microservice Systems with Docker and Kubernetes
- The portion on Docker and Docker Hub (in the Building Blocks section) will be helpful if you are unfamiliar with Docker Hub

About your instructor

  • Jim Cheshire is a technology expert with over 30 years of experience in IT. For over 20 years, Jim has worked at Microsoft in various roles. He has worked on the Azure App Service team for the entire lifetime of the service, and he’s heavily involved in testing and troubleshooting of Web App for Containers and other areas. Jim has written many books on technology and has produced a LiveLessons course on Azure App Service called Azure App Service Web Apps: Configuring and Troubleshooting.

    When not tied to a computer, Jim enjoys spending time with his family and spends a great deal of time in the outdoors, both with his family and volunteering for youth fishing organizations in order to help share his love of the outdoors with our youth.

    You can reach Jim at his website, www.jimcosoftware.com, or by emailing him at cheshire@outlook.com.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Introduction to App Service (20 min)
- Lecture: An overview of what Azure App Service is and some of the core features that you’ll use with Web App for Containers.
- The four pillars of Azure App Service
- Relevant roles in Azure App Service
- App Service Plans and App Service virtual machines

Introduction to Docker (15 min)
- Lecture: A brief introduction to Docker for those unfamiliar with containerized applications.
- Docker images and containers
- Docker offerings in Azure

Introduction to Web Apps Running on Linux (20 min)
- Lecture: An overview of the two different offerings for running a Web App on Linux and how the basic architecture works.
- Overview of App Service on Linux and Web App for Containers
- Considerations for choosing the right Linux offering
- Architectural overview of Linux on Azure App Service
- Request flow in Web App for Containers

Break (5 min)

Creating and Configuring a Web App for Containers App (20 min)
- Demonstration: Creating a Web App for Containers app using an existing Docker Hub image.
- Hands-On: Create and test your own Web App for Containers app.

Creating Your GitHub Repository (30 min)
- Demonstration: Creating a new repository and adding files.
- Hands-On: Create your own GitHub repository using materials for this course.

Break (10 min)

Creating an Automated Build in Docker Hub (45 min)
- Demonstration:
- Enabling the Docker service in GitHub
- Creating a Docker Hub repository
- Creating an Automated Build
- Testing the Automated Build
- Hands-On: Enabling Docker, creating a Docker Hub repo, and creating and testing an automated build.

Break (10 min)

Enabling Continuous Integration in Web App for Containers (20 min)
- Demonstration: Configuring CI and pushing a change to our Docker Hub repository.
- Hands-On: Change your code in GitHub and test continuous integration updating your Web App.

Troubleshooting a Docker Container in App Service (45 min)
- Lecture:
- Configuration Options in Web App for Containers
- The right way to install additional components
- Troubleshooting Docker issues
- Hands-On:
- Installing components the right and wrong way
- Diagnosing a bad Docker image