Delve into the most popular Docker features to explore the quick and robust way to build and deploy scalable applications
Docker is an open source containerization engine that offers a simple and faster way for developing and running software. It 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. If you're interested to gain practical knowledge on how to orchestrate and deploy scalable applications with Docker, then you should surely go for this Learning Path.
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.
The highlights of this Learning Path are:
- Develop containerized applications using Docker
- Explore advanced build options and image tags
- Deploy and test your Docker containers and put them to work in production
Let’s take a quick look at your learning journey. This Learning Path begins with setting up the Docker environment. You will be introduced to the basic Docker commands and how to work with images and containers. You'll then quickly learn how to write a Dockerfile, build an image from it, and then launch a container from that image. You'll also get hands-on experience with common Docker tasks such as pushing images to remote repositories, and using port mappings and the image caching layer during builds. You'll also explore how to run Docker services and learn how it can be used to run a group of related Docker containers. This Learning Path also covers advanced topics such as sharing data between containers, Docker services to run a group of related Docker containers etc.
You'll also gain knowledge on how you can contribute to the image repository by publishing different images. This will accustom you with the image building process and you'll be able to successfully run your programs within containers.
By the end of this Learning Path, you'll be confident in building and deploying your applications using Docker and have a clear understanding of techniques to get it running in production systems.
Meet Your Expert:
We have combined the best works of the following esteemed author to ensure that your learning journey is smooth:
- Viktor Farcic is a senior DevOps consultant at CloudBees (https://www.cloudbees.com/), a member of the Docker Captains (https://www.docker.com/community/docker-captains) group, and an author. He codes using a plethora of languages starting with Pascal (yes, he is old), Basic (before it got the Visual prefix), ASP (before it got the .NET suffix), C, C++, Perl, Python, ASP.NET, Visual Basic, C#, JavaScript, Java, Scala, and so on. He never worked with Fortran. His current favorite is Go. Viktor's big passions are Microservices, Continuous Deployment, and Test-Driven Development (TDD). He often speaks at community gatherings and conferences. Viktor wrote Test-Driven Java Development by Packt Publishing, and The DevOps 2.0 Toolkit. His random thoughts and tutorials can be found in his blog TechnologyConversations.com (https://technologyconversations.com).
- 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.
- Basic working knowledge using the Linux command is needed
- Write a Dockerfile, build an image from it, and then launch a container from that image
- Get familiar with common Docker tasks such as pushing images to remote repositories
- Use Docker Services to run a group of related Docker containers
- Share data between containers
- Install Docker on Linux, AWS, Google Compute Engine, and Microsoft Azure
- Troubleshoot Containers and Images
- Build Images with Docker
- Manage and share Docker images
This video will give an overview of the entire course
The aim of this video is to learn how to operate Docker containers
• Understand key commands you can execute through Docker
• Explore listing and inspecting the details related to containers
• Learn basic commands that are important to understand related to containers
The aim of the video is to learn the importance of leveraging Docker Compose and specify the required arguments while executing Docker commands
• Develop a well-documented process by specifying arguments in a YAML file
• Optimize the process and run commands using the YAML file
With this video learn about Docker images and how to operate them
• Understand the features of Docker images
• Explore Docker executable key commands
The aim of this video is to learn how to build an image, push it to a registry and how to pull it from a registry
• Explore the different ways to build images
• Utilize a single Docker file which describes the layers of an image.
• Build a single command that builds Docker file into an image
With this video implement pushing, pulling, and running images from a registry.
• Explore Private and Public registry
• Understand the most commonly used instructions in Docker file
This video will give an overview of the entire course
Learn what containers are and the benefits for developers, operations, and the organization.
• Understand the benefits for developers
• Get to know the benefits for operations
• Explore the benefits for the organization
Learn about the different Docker editions and three ways to install Docker on a local Linux server.
• Develop an understanding about the community and enterprise releases
• Install Docker from the official repository via the install script
• Install Docker using Docker-machine.
Use docker-machine to install and manage Docker hosts on AWS, GCE, and Azure.
• Create a new host on AWS
• Create a new host on GCE
• Create a new host on Azure
Learn about Docker specific distributions and why you would use one.
• What is a Docker specific distribution?
• Learn the importance of using a Docker-specific distribution
• Get familiar with existing options
Create and manage Docker containers.
• Learn about starting containers and seeing what is running
• Learn about stopping containers and showing stopped containers
• Learn removing stopped containers
Learn how Docker handles networking for containers on a single node and how to make them available to the Internet.
• Understand how Docker manages container networks
• Publishing ports for a container
• Connecting containers to each other
• Assessment
• Congratulations! you have completed the Section. To validate your learning, go ahead and download the Assesment for this section. Answers Download Assessment
Learn how Docker uses layers to build images and how to build your own container images.
• Explore how Docker uses layers to build images.
• Get familiar with the Dockerfile
• Use Docker build to create an image
Learn how to save time and simplify the build process by using a base image.
• Understand why to use a base image
• Learn to specify a base image.
• Explore the official images on the Docker Hub
Learn the different ways of adding files to your image.
• Add files with COPY
• Add files with ADD
• Utilize patterns to select files and best practices
Learn how to run commands during the build process to customize your image.
• Use the RUN instruction
• Understand the Common problems
• Explore some best practices
Learn the different ways of setting a default command for your container to run when it starts.
• Utilizing the CMD and ENTRYPOINT instructions separately
• Use CMD and ENTRYPOINT together
• Using start scripts
Learn how to allow network connections to your container.
• Defining ports with the EXPOSE instruction
• Publishing all defined ports
• Publishing specific ports
• Assessment
• Congratulations! you have completed the Section. To validate your learning, go ahead and download the Assesment for this section. Answers Download Assessment
Using environment variables in a Dockerfile when building an image and to control how a container runs.
• Explore the ENV instruction to set environment variables.
• Learn to set individual variables with --env
• Understand setting environment variables with a file and --env-file
Customizing the build process using bulid variables.
• Use the ARG instruction in a Dockerfile
• Explore setting build arguments with the --build-arg flag
Define health checks to verify that a container is running like it should.
• Use the HEALTHCHECK instruction in a Dockerfile
• Learn to check a container’s status
• Understand the considerations when defining health checks.
Using volumes to preserve container data.
• Learn to use the VOLUME instruction in a Dockerfile
• Understand mounting a host directory with --volume
• Utilize the mount option to Mount a host directory
• Assessment
• Congratulations! you have completed the Section. To validate your learning, go ahead and download the Assesment for this section. Answers Download Assessment
Using the advanced options for building Docker images.
• Understand cache problem with base images and how to fix it
• Utilize a .dockerignore file
• Understand Docker images tagging
Learn how to troubleshoot problems with Docker images and containers.
• Explore troubleshooting a running container using docker exec
• Understand exporting and importing a Docker image
• Get familiar with viewing container logs
Learn how to manage Docker images on a local server.
• Understand listing the available images
• Learn how to inspect an image
• Learn to remove images
Learn how to use packer to build images for Docker.
• Get familiar to packer
• Explore packer Considerations and downsides
• Building an image with packer
Learn how Docker uses registries and how to download images from a registry
• What is a registry and why use one
• Finding and downloading images with docker image pull
• Logging into a registry
Learn how to upload an image to a registry
• Push an image to Docker Hub
• Setup an automated image build on Docker Hub
Learn about other registry options and how some tools can perform security scans of images.
• Why use a private registry?
• Survey of cloud-based and on-site options.
• Image security scanning tools
• Assessment
• Congratulations! you have completed the Section. To validate your learning, go ahead and download the Assesment for this section. Answers Download Assessment