LEARNING PATH: Docker: Application Deployment with Docker
Are you looking forward to orchestrating and deploying scalable services with Docker? Then this Learning Path is for you.
Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
Docker is one of the world’s best software container platforms. The use of containers in Docker makes it easy to develop, deploy and execute applications. Abstraction helps developers to run applications inside the containers. Docker containers enable developers to make changes to their Docker pictures and also control the versions of the pictures. With the help of Docker, we can build a container image and use it multiple times during deployment. Docker provides a fast and robust way to deploy applications. At present it is very popular as it makes it possible to get many applications running on the same server; it also makes it very simple to package and ship programs.
Docker has been a game changer when it comes to virtualization. It provides a fast and robust way to deploy applications, making it easy to build and deploy applications that are reliable, responsive, and fast.
The highlights of this Learning Path are:
- Run multi-container Docker applications with Docker Compose
- Create services and deploy multi-container services to a swarm
- Orchestrate multiple containers into complex applications with Kubernetes
- Discover how to use Docker Swarm to manage many containers across multiple servers
- Run applications on multiple containers across multiple host networks
This Learning Path targets to teach you how to orchestrate and deploy scalable and reliable services with Docker.
Let’s take a quick look at your learning journey….
You’ll start working with images and containers. You’ll be introduced to different types of containers and their applications. This will accustom you with the image building process and you will be able to successfully run your programs within containers. You’ll learn how to use Docker Swarm to manage many containers across multiple servers. You’ll get familiarized with local and shared storage and multi-host networking. You’ll also explore the core tools such as Docker Swarm and compose in order to improve your orchestration skills. You’ll understand how to run a swarm and how to run services on the swarm.
Moving further, you’ll learn how to deploy your application that can be quickly scaled to through configuring the Docker daemon, and troubleshooting containers and images. You’ll explore use cases for containers, where each use case will highlight a particular problem and how Docker helps to solve it.
Finally, you’ll learn how to use Kubernetes orchestration system, see how to monitor your Docker cluster, and find out how to automate your application to build, test, and deploy.
By the end of this Learning Path, you’ll be confident in deploying your applications using Docker as well as the new orchestration features and will have a clear understanding of concepts, techniques, and practical methods to get it running in production systems.
Meet Your Expert:
We have the best work of the following esteemed author to ensure that your learning journey is smooth:
Randall Smith is a senior systems administrator at Adams State University. He has been administering Windows, Linux, and BSD systems since 1999.He has been active in helping other sysadmins solve problems online and off. He has presented at the Colorado Higher Ed Computing Organization and Educause conferences on topics including Linux KVM and Ceph.In his spare time, Randall streams Let’s Play gaming videos at Music Free Gaming on YouTube and Twitch.
Docker - A Better Way to Build Apps
This video will give an overview of the entire course
Learn what containers are and the benefits for developers, operations, and the organization.
Learn about the different Docker editions and three ways to install Docker on a local Linux server.
Use docker-machine to install and manage Docker hosts on AWS, GCE, and Azure.
Learn about Docker specific distributions and why you would use one.
Create and manage Docker containers.
Learn how Docker handles networking for containers on a single node and how to make them available to the Internet.
Learn how Docker uses layers to build images and how to build your own container images.
Learn how to save time and simplify the build process by using a base image.
Learn the different ways of adding files to your image.
Learn how to run commands during the build process to customize your image.
Learn the different ways of setting a default command for your container to run when it starts.
Learn how to allow network connections to your container.
Using environment variables in a Dockerfile when building an image and to control how a container runs.
Customizing the build process using bulid variables.
Define health checks to verify that a container is running like it should.
Using volumes to preserve container data.
Using the advanced options for building Docker images.
Learn how to troubleshoot problems with Docker images and containers.
Learn how to manage Docker images on a local server.
Learn how to use packer to build images for Docker.
Learn how Docker uses registries and how to download images from a registry
Learn how to upload an image to a registry
Learn about other registry options and how some tools can perform security scans of images.
Dive into Orchestration with Docker Swarm
This video will give you an overview about the course.
The aim of this video is to give you an overview of challenges faced while moving one Docker host to a cluster.
The aim of this video is to show you how to use shared, network storage to provide data to your container.
The aim of this video is to show you how to use Docker overlay network driver to connect containers across multiple hosts in a Docker Swarm.
The aim of this video is to show you how to use Weave Net to provide an overlay network in Docker Swarm.
The aim of this video is to show you how to use multiple overlay networks to isolate container network traffic.
The aim of this video is to show you how to create a new Docker Swarm to manage services.
The aim of this video is to show you how to add new manager and worker nodes to a Swarm.
The aim of this video is to show you how to perform node promotion and change node availability state.
The aim of this video is to show you how to use labels to group nodes.
The aim of this video is to show you how to safely remove a node from a Docker Swarm.
The aim of this video is to show you how to recover from lost quorum, backup and recover a Swarm state.
The aim of this video is to show you how to run a new service in Docker Swarm.
The aim of this video is to show you how to run replicas of services to pass secret and configuration files.
The aim of this video is to show you how Docker Swarm performs service discovery and networking.
The aim of this video is to show you how to run a setting constraints in Docker Swarm.
The aim of this video is to show you how to remove, stop, and update services in Docker Swarm.
The aim of this video is to show you how to use rolling update to perform zero-downtime updates.
The aim of this video is to show you how to use Traefik to proxy web services.
Get an overview about Docker Compose and its installation steps.
The aim of this video is to show you how to write Docker Compose configurations and run applications.
The aim of this video is to show you how to define a multi-container application with Docker Compose.
The aim of this video is to show you about the different steps to simplify development and deployment.
The aim of this video is to show you how to specify networks and volumes for use by services in an application.
The aim of this video is to show you how to deploy application stacks using Docker Compose configurations and Distributed Application Bundles.
Working with Advanced Docker Operations
This video will give you an overview about the course.
In this video, we will learn how to use kubectl manage resources in Kubernetes
The aim of this video is to understand how to create Pods to run containers.
In this video, we will learn when and when not to use multi-container Pods and how to create them
This video will enable us to learn about networking in Kubernetes
The aim of this video is to learn how to create a controller to manage Pods for an application
In this video, we will learn how to apply updates to a running deployment
In this video, we will discover how to use labels and selectors with Kubernetes resources.
The aim of this video is to understand to use Services to provide access to Deployments
In this video, we will learn how to use environment variables in specifications.
The aim of this video is to learn how to pass data into Pods using Secrets and ConfigMaps.
This video explores how to use volumes to provide persistent data to Pods
In this video, we will understand how to use PersistentVolumes to provide data to one or more Pods
Learn how to install Elasticsearch and Kibana on Kubernetes
Learn how to view and search logs with Kibana
Learn how to collect performance data from Kubernetes with Prometheus
Learn how to use Grafana with Prometheus
Use Sysdig to monitor a Kubernetes host
Learn about other considerations for monitoring your Docker and Kubernetes cluster
Learn how to use GitLab CI to automatically build Docker images.
Learn how to automatically test Docker images as they are built.
Learn how to automatically deploy Docker images and applications to Kubernetes
The aim of this video is to learn how Docker is used to verify MySQL backups.
The aim of this video is to learn how to deploy WordPress and MySQL.
The aim of this video is to learn how to manage applications with dependencies.
The aim of this video is to learn how to use Jenkins with Kubernetes.