Book Image

Docker Certified Associate (DCA): Exam Guide

By : Francisco Javier Ramírez Urea
Book Image

Docker Certified Associate (DCA): Exam Guide

By: Francisco Javier Ramírez Urea

Overview of this book

Developers have changed their deployment artifacts from application binaries to container images, and they now need to build container-based applications as containers are part of their new development workflow. This Docker book is designed to help you learn about the management and administrative tasks of the Containers as a Service (CaaS) platform. The book starts by getting you up and running with the key concepts of containers and microservices. You'll then cover different orchestration strategies and environments, along with exploring the Docker Enterprise platform. As you advance, the book will show you how to deploy secure, production-ready, container-based applications in Docker Enterprise environments. Later, you'll delve into each Docker Enterprise component and learn all about CaaS management. Throughout the book, you'll encounter important exam-specific topics, along with sample questions and detailed answers that will help you prepare effectively for the exam. By the end of this Docker containers book, you'll have learned how to efficiently deploy and manage container-based environments in production, and you will have the skills and knowledge you need to pass the DCA exam.
Table of Contents (22 chapters)
1
Section 1 - Key Container Concepts
8
Section 2 - Container Orchestration
12
Section 3 - Docker Enterprise
17
Section 4 - Preparing for the Docker Certified Associate Exam

To get the most out of this book

In order to follow the book's labs and examples, it is recommended to have Docker Engine installed on your computer. A set of virtual environments is provided for you to allow you to run all the labs without modifying your computer. There are also many labs in which you have to deploy clusters, with many nodes involved. The labs will deploy virtual machines so you don't have to install many nodes, although you can deploy all the labs on your own infrastructure of hosts.

The provided virtual environments require Vagrant (https://www.vagrantup.com/) and VirtualBox (https://www.virtualbox.org/) to be installed on your computer. Docker images and software will be downloaded from the internet, so internet connectivity is also required. The following table shows the computer resources required to run all of the book's labs. You will free up resources by destroying environments once all the labs from each section or chapter are completed.

Software/hardware covered in the book

Chapters

OS requirements for running virtual environments

Docker standalone platform (Docker Engine) 1 to 7 2 vCPU, 4 GB of RAM, and 10 GB of disk space.
Docker Swarm cluster platform 8 4 vCPU, 8 GB of RAM, and 50 GB of disk space.
Kubernetes cluster platform 9 4 vCPU, 8 GB of RAM, and 50 GB of disk space.
Docker Enterprise platform 11, 12, and 13 8 vCPU, 16 GB of RAM, and 100 GB of disk space.

The labs from chapters 1 to 6 require one node. A minimum of 2 vCPUs and 4 GB of RAM is required. The labs from chapter 8 and chapter 9 will deploy 4 and 3 virtual nodes respectively, and more local resources are required. In these cases, you will need at least 4 vCPUs and 8 GB of RAM on your computer. The Docker Enterprise labs require more resources because the platform has quite large CPU and memory requirements per virtual node. These labs will run smoothly with at least 8 vCPUs and 16 GB of RAM because the Vagrant environment will deploy 4 virtual nodes with 4 GB of RAM per node.

In terms of disk space, your computer should have at least 100 GB of free disk for the biggest environment.

The minimum required Vagrant version is 2.2.8, while the minimum required version of VirtualBox is 6.0.0. The labs can be executed on macOS, Windows 10, and Linux. The labs were tested on the Ubuntu Linux 18.04 LTS and Windows 10 Pro operating systems during the writing of this book.

All labs can be executed on Docker Swarm, Kubernetes, and Docker Enterprise, although it is recommended to use virtual environments to execute all the labs' steps, including installation procedures.

If you are using the digital version of this book, we advise you to type the code yourself or access the code via the GitHub repository (link available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

Before taking the exam, ensure that you understand and can answer all the questions in Chapter 15, Mock Exam Questions and Final Notes. The questions in this chapter are quite close to the ones currently present in Docker Certified Associate exam.

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the Support tab.
  3. Click on Code Downloads.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Docker-Certified-Associate-DCA-Exam-Guide. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Code in Action

Code in Action videos for this book can be viewed at https://bit.ly/34FSiEp.

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: http://www.packtpub.com/sites/default/files/downloads/9781839211898_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "We can configure the shared storage we need to execute the reconfigure action."

A block of code is set as follows:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

services:
colors:
image: codegazers/colors:1.16
deploy:
replicas: 3

Any command-line input or output is written as follows:

$ sudo mount -t nfs 10.10.10.11:/data /mnt
$ sudo cp -pR /var/lib/docker/volumes/dtr-registry-c8a9ec361fde/_data/* /mnt/

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "The screenshot shows the Garbage collection configuration page."

Warnings or important notes appear like this.
Tips and tricks appear like this.