Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Cybrary

Intro to Docker

via Cybrary

Overview

This Docker training course will cover the basics of using Docker for a person with little to no prior knowledge. It will start from things like setting up Docker on Linux and Windows platforms.

Docker Training Overview

Welcome to Intro to Docker. We will discuss what Docker containers, and how it compares to traditional modes of virtualization, both advantages and disadvantages. Docker commands, syntaxes and flags will be learned to familiarize ourselves and use Docker to its best capabilities. And we will learn how to create and utilize Docker containers. We will learn about docker hub and Docker images; how to acquire them, modify them, how to build them yourself, and also how to integrate automated builds into your Docker ecosystem. We will dive into Docker networking, how containers interact with each other and accessing them from the outer environment. Then Docker volumes will be discussed; different types of storage in docker, and mounting local drives volumes into your docker containers are some of the topics that will be covered here. We also will look into Docker Compose and how to make using Docker much more efficient and consistent. Finally, you’ll be introduced to a tool to make your Docker work and management a breeze by providing a frontend for you to do your tasks.

Prerequisites for Docker Training

The prerequisites for this Docker training course include the ablility to operate a computer (Linux or Windows), the ability to install programs on the system, and basic command line terminal literacy. Basic knowledge of network terminology and virtualization is also recommended.

Study Resources

  • https://labs.play-with-docker.com/

Course Goals

By the end of this Docker training, students should be able to:

  • Understand what Docker is
  • Understand what Docker containers are
  • Understand how Docker compares to other methods of virtualization
  • Understand the internals of Docker, terminology and architecture
  • Get Docker running on a Linux or a Windows PC
  • Get a container running, and view information pertaining to Docker and its components
  • Build Docker images
  • Utilize Docker Hub
  • Understand networking in Docker
  • Understand storage in Docker
  • Understand basic usage of Docker Compose
  • Use Portainer to make managing Docker and its components easier

In software development, thinking about writing code for a variety of machines, applications and devices can be worrisome. Not knowing exactly how the user will interact with their code can meaning reducing their flexibility.

Developers can use Docker to create, deploy, and run applications using containers. The containers help manipulate what a developer codes to ship out to any application that would use it, and it eliminates the worry for the developer of any customized settings the device may have.

What is Docker?

Docker is a tool for software development to package up an application using container orchestration to ensure what they’re creating gets delivered to the user device correctly, despite any preset settings or customizations that are different from the device the code was tested on.

Docker containers are a standard unit of software. It packages code to help an application run quicker and reliably despite the computing environment.

Launched in 2013, Docker container technology was created to use existing computing concepts and apply them specifically in the Linux world.

Do I need to learn Docker?

With a myriad of coding skills for a developer to learn, it’s natural to weigh if adding a Docker certification to one’s arsenal is necessary.

The great thing about learning Docker is a lot of the hard parts are already done for the developer. The community of Docker developers maintains images on Docker Hub, which means setting up an application environment can be as simple as a one-line command. This means developers do not need to spend time setting up the system for the application to run on and get straight to developing the application.

Apps created on Docker don’t require their own operating system. Think iOS or Android-specific apps, that only work on those devices. This means developers do not need to maintain the operating system, allowing them to focus on other things.

Learning Docker helps developers save time and can benefit almost any server, especially those working on cloud-based applications.

Where can I learn Docker?

The best resources to learn Docker is Docker’s website itself and a Docker training course.

Docker offers classes in-person that are about two-days of physical classroom heavy training. These trainings are given all over the world. These also give some online modules.

However, traveling to Toronto, London, or San Jose isn’t always feasible for all developers, especially for those still in school or working a full-time job.

Cybrary offers online Docker training. There are 8 modules that are broken down into less-than 15 minutes segments, making it easy to digest and helps students learn at their own pace, when it’s convenient for them.

Is Docker easy to learn?

Good news: Docker is considered relatively easy to learn!

Students don’t need much to get started. They just need to be able to operate a Linux or Windows computer, have the ability to install programs and have basic command line terminal literacy.

Because of Docker’s community, most of the hard work is done and developers do not need to build as much of a foundation. This means they can focus on the application.

By learning Docker through courses such as Cybrary, students learn tools to make working with Docker and managing the system a breeze.

To put learning into practice, the Docker website offers a playground to help test commands in second.

How long does it take to learn Docker?

How long it takes to learn Docker depends on how a developer chooses to learn, where, and the time commitment given to it.

If students choose to take Docker courses, the in-person events are about two days of classroom learning.

If the developer takes an online intro course, like Cybrary, it will take a couple of hours. Since the modules are broken up into smaller pieces, so students can power through and complete it in one day, or break it up over a few days or weeks. This means students can learn at their own pace.

Syllabus

  • Module 1: Docker, the DevOps Deity
    • 1.0 Introduction
    • 1.1 Virtualization in Docker
    • 1.2 What are Containers?
    • 1.3 Docker in Comparison to Traditional Modes of Virtualization
    • 1.4 Is Docker Alone in the Containerization Universe?
    • 1.5 Down and Dirty with Docker and the Internals
    • 1.6 Module 1 Recap
  • Module 2: Docker Installation
    • 2.1 Which Docker Platform is for you?
    • 2.2 Running Docker on Windows 10
    • 2.3 Running Docker on Windows 7
    • 2.4 Running Docker on Linux (Ubuntu)
  • Module 3: Run Docker Instead of Docker Running You
    • 3.1 You Run the Show Part 1
    • 3.2 You Run the Show Part 2
    • 3.3 You Run the Show Part 3
    • 3.4 Traverse Docker for Info Part 1
    • 3.5 Traverse Docker for Info Part 2
    • 3.6 Traverse Docker for Info Part 3
    • 3.7 Traverse Docker for Info Part 4
    • 3.8 Set Sail on Your First Docker Container! Part 1
    • 3.9 Set Sail on Your First Docker Container! Part 2
    • 3.10 Set Sail on Your First Docker Container! Part 3
    • 3.11 Keep the Ecosystem Clean: Cleaning up After Docker Part 1
    • 3.12 Keep the Ecosystem Clean: Cleaning up After Docker Part 2
    • 3.13 Keep the Ecosystem Clean: Cleaning up After Docker Part 3
    • 3.14 Keep the Ecosystem Clean: Cleaning up After Docker Part 4
  • Module 4: Docker Universe
    • 4.1 Docker Hub, the Planet Earth of the Docker Universe
    • 4.2 Dockerfile, Your Image Building Partner Part 1
    • 4.3 Dockerfile, Your Image Building Partner Part 2
    • 4.4 Dockerfile, Your Image Building Partner Part 3
    • 4.5 Dockerfile, Your Image Building Partner Part 3
    • 4.6 Automated Docker Image Builds, Pulling Changes from the Repository Part 1
    • 4.7 Automated Docker Image Builds, Pulling Changes from the Repository Part 2
  • Module 5: Docker Networks
    • How Does Docker Get Around the Networking Domain? Part 1
    • 5.2 How Does Docker Get Around the Networking Domain? Part 2
    • 5.3 Module 5 Learning Objectives
    • 5.4 Docker Networks and Network Segmentation Part 1
    • 5.5 Docker Networks and Network Segmentation Part 2
    • 5.6 Docker Networks and Network Segmentation Part 3
    • 5.7 Docker Networks and Network Segmentation Part 4
    • 5.8 Docker Networks and Network Segmentation Part 5
    • 5.9 Docker Networks and Network Segmentation Part 6
    • 5.10 Mapping Ports in Docker
    • 5.11 Module 5 Recap
  • Module 6: Docker Volumes
    • 6.1 Docker Storage, Volumes, Bind Mounts, and tmpfs
    • 6.2 Running Containers with Docker Volumes Part 1
    • 6.3 Running Containers with Docker Volumes Part 2
    • 6.4 Running Containers with Bind Mounts
    • 6.5 Running Containers with tmpfs
    • 6.6 Volumes in Dockerfile
  • Module 7: Docker Compose
    • 7.1 What is Docker Compose and Why do we Use it?
    • 7.2 Docker Compose Installation
    • 7.3 Running Services with Docker Compose Part 1
    • 7.4 Running Services with Docker Compose Part 2
    • 7.5 Running Services with Docker Compose Part 3
    • 7.6 Running Services with Docker Compose Part 4
    • 7.7 Demo of Docker Compose Options Using “Docker Container Run”
  • Module 8: Portainer: Dock your Containers Visually
    • 8.1 What is Portainer and How Does it Compare to the CLI Method?
    • 8.2 Portainer Installation and Setup
    • 8.3 Portainer Usage Part 1: Containers
    • 8.4 Portainer Usage Part 2: Images
    • 8.5 Portainer Usage Part 3: Networks
    • 8.6 Portainer Usage Part 4 Volumes
    • 8.7 Portainer Usage Part 5 Beneficial Features
    • 8.8 Course Summary
    • 8.9 Bonus: Play with Docker

Taught by

Nilanka De Silva

Reviews

Start your review of Intro to Docker

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.