Welcome to the Building Advanced Docker Skills Aspire Journey. For this journey, we assume that the learner is familiar with Docker and has either been through some beginning and intermediate training or has some experience configuring and deploying Docker solutions. After completing this journey, learners will advance their skills in various Docker technologies, including Docker Compose, multi-Docker deployments within and outside the cloud, advanced security and administration topics, performance enhancement, and advanced debugging techniques. The Building Advanced Docker Skills Proficiency Aspire Journey will focus primarily on developer resources, including front and back end developers, full stack developers, and product/project managers. The latter primarily providing resourcing and project guidance.
In this track of the Building Advanced Docker Skills Skillsoft Aspire journey, the focus will be on advanced Docker best practices, advanced Docker Compose, and working with multiple Docker containers.
In this track of the Building Advanced Docker Skills Skillsoft Aspire journey, the focus will be on advanced Docker administration, debugging Docker solutions, performance computing, advanced Docker orchestration, and advanced Docker security considerations.
Docker has revolutionized deployment. It allows developer to build, manage, and secure apps anywhere with ease. In this course, you'll explore advanced Docker principles and practices, which will enhance your skills in orchestrating multi-containers, microservices, and automated deployments. You'll examine Docker basics, common misconceptions, and the benefits of using multiple Docker containers. You'll then examine why microservices are needed, service and application decentralization, and how Docker multi-containers work. You'll learn about common design patterns for managing APIs, delimitation of services, and testing and monitoring. Finally, you'll examine multi-Docker deployment automation and associated best practices.
Running multiple Docker containers and using multiple cloud environments really extends the capabilities of using Docker. In this course, you'll learn about working with multiple Docker containers and how to define them. You'll then explore how to run two distinct Docker containers, as well as install and configure a simple application with at least two supporting services on the same cloud environment. You'll learn how to install and configure a simple application on at least two Docker containers on two different cloud platforms. By the end of this course, you'll be able to run most common use cases of Docker and recognize the differences.
Docker is an environment for creating, deploying, and running applications, allowing you to deliver software to production environments using containers. Containers are self-contained applications that can be easily distributed to multiple environments for testing and quality control. Docker helps to streamline to the development life cycle and is used with continuous integration and continuous delivery workflows. In this course, you'll learn about the features and the components of the Docker environment. You'll examine the elements, features, and purpose of Docker Compose, as well as how to configure Docker Compose for multiple environments. Next, you'll explore some common use cases for Docker Compose and the steps required to upgrade older versions of Docker Compose to the latest version. Finally, you'll learn how to install Docker Compose on different operating systems.
Docker Compose is used for setting up and running multi-container docker applications, and can be installed on multiple environments and host many types of containerized applications. In this course, you'll explore the basics of the Docker Compose installation environment for Windows, Linux, and Mac. Next, you'll learn about the fundamentals and best practices when working with Docker Compose. You'll examine the steps for defining, building, and completing a Docker Compose project and the features of the Docker Compose CLI. Finally, you'll learn how to build a simple Python web application, an ASP.Net Core and SQL Server web site, a Django/PostgreSQL application, a Rails/PostgreSQL application, and a WordPress application using Docker Compose.
Docker is a set of platform as a service products used to build and share containerized apps. Docker enables applications to be separated from infrastructure, allowing for a quicker delivery. In this course, you'll learn the fundamentals of the Docker platform and container storage. You'll explore multi-container Docker applications, as well as common multi-container Docker scenarios. Next, you'll examine Docker Compose, a tool used for defining and running multi-container Docker applications. You'll explore how to setup Docker Compose, add containers to a project, and debug containers using VS Code. Lastly, you'll learn how to work with multiple Compose files, as well as how to review a multi-application strategy.
A microservice architecture is used to structure an application as a collection of loosely coupled services. Microservices are independently deployable and scalable, offer improved fault isolation, and result in smaller and faster deployments. In this course, you'll learn about the fundamentals, importance, and value of microservices. You'll learn to recognize the intersection of microservices and Docker, and the advantages of using Docker for microservices. Explore how Docker's compactness and brevity lends itself to the microservices solution, and learn how Docker and microservices work together. Lastly, you'll learn how to deploy at a Docker deployment with at least 2 microservices.
Final Exam: Advanced Docker Principles will test your knowledge and application of the topics presented throughout the Advanced Docker Principles track of the Skillsoft Aspire Building Advanced Docker Skills Journey.
Docker is a very powerful tool that can be used for containerizing applications. This course will focus on advanced Docker administration concepts, with demonstrations of some of these advanced concepts. In this course, you'll learn about continuous integration and how it relates to Docker, Docker Hub, Docker Compose, and Docker's lifecycle. Next, you'll examine Docker security challenges and how to configure security and Transport Layer Security options. You'll explore the Docker Hub and the process of building, managing, and distributing Docker images. You'll also learn about the Docker architecture and the Docker daemon. You'll move on to cover the Docker content trust, trust delegation, how to deploy a notary, and trust key management. Finally, you'll learn about storage management in Docker, including volumes, bind mounts, and tmpfs mounts, as well as how to administer Docker networking components, services, and containers.
Troubleshooting and debugging Docker issues are skills that are a must-have in a developer's arsenal. Use this course to learn about the 'art and science' of troubleshooting infrastructure solutions and some common troubleshooting strategies. Start by exploring some common Docker issues and their solutions before moving on to examining how to use the Docker log files to diagnose issues. You'll then discover different options for logging drivers learn how to troubleshoot issues with Docker images, Docker deployments, and deployments using Kubernetes, as well as some of the common tools used to troubleshoot Docker. You'll also investigate the steps involved in troubleshooting common issues with the Dockerfile, common Docker container naming issues, and common Docker communication issues. After completing this course, you'll have the skills and knowledge to troubleshoot and debug issues in Docker builds and deployments.
Performance engineering includes techniques to ensure that non-technical requirements such as latency, memory usage, and throughput are met. Docker containers can take advantage of performance engineering to ensure that they run efficiently and effectively. In this course, you'll learn about the history and purpose of performance engineering and techniques for using performance engineering with Docker containers. Next, you'll explore how to manage Docker, as well as some common Docker performance issues and how to resolve them. You'll move on to learn about some of the tools that can be used for monitoring and performance testing on Docker containers. Finally, you'll examine some examples of how to use the ManageEngine and Prometheus monitoring tools to monitor Docker containers and also use them to optimize a Docker container running MySQL and WordPress
Optimizing Docker performance occurs long before the containers are in a production environment. Optimization needs to be part of the initial design and planning process. In this course, you'll learn how to optimize the various sections of the Docker ecosystem. First, you'll examine why Docker container performance needs to be part of the initial design and planning process and some of the best practices for designing docker containers. You'll learn some of the common bottlenecks encountered when running Docker containers, best practices when optimizing performance for Docker containers, and considerations when planning for performance. Next, you'll explore considerations for scaling and capacity planning Docker containers in a production environment. You'll move on to learn about the different methods for Docker orchestration and how to configure Docker swarm. Finally, you'll learn how to plan for Docker storage and network performance.
Container orchestration is used to automate the deployment, management, scaling and networking of containers. For organizations that have thousands of containers, being able to manage them effectively is operation critical. In this course, you'll learn about using container orchestration with Docker and the available tools and service for orchestration and cluster management. Next, you'll explore features of the Kubernetes container cluster management tool and Docker swarm. You'll examine reasons for using multiple Docker containers and options for configuring the Docker network to work with multiple containers. You'll also learn about backups, remote access, and upgrades in multi-container environments. You'll move on to examine working with multiple Docker hosts and how cloud providers manage and automate orchestration. Finally, you'll review how to set up and create a Docker swarm, as well as deploy an application stack and deploy services to a swarm.
Security planning is a critical part of configuring and hosting Docker images securely. This course will focus on ensuring the Docker images and environment are not vulnerable to unauthorized access and security attacks. In this course, you'll learn how traditional software development models such as client server applications and REST-based web services are relevant to Docker. You'll examine the features, benefits, and challenges of using virtual machines versus Docker to deploy applications. Next, you'll explore some major Docker security concerns and methods for hardening Docker containers. You'll move on to learn about developing a security plan for Docker, specifically during the design phases of a project. Finally, you'll learn about Docker Seccomp and AppArmor profiles and why are they important.
Final Exam: Advanced Docker Skills will test your knowledge and application of the topics presented throughout the Advanced Docker Skills track of the Skillsoft Aspire Building Advanced Docker Skills Journey.