Docker Course

Start Date:
TBD
30
academic hours
Final Project
Docker

Docker Course

Our Docker course is designed to take you from a beginner to a proficient Docker user. Whether you're a developer looking to streamline your application deployment, an IT professional aiming to modernize your infrastructure, or a DevOps engineer wanting to enhance your containerization skills, this course provides a solid foundation in Docker.

Throughout the course, you'll learn how to:
  • Understand containerization concepts and Docker architecture
  • Build, run, and manage Docker containers
  • Create and optimize Docker images
  • Implement multi-container applications with Docker Compose
  • Set up and manage Docker networks and volumes
  • Implement Docker in CI/CD pipelines
How can a Docker course help you advance in the industry?

With Docker and other technologies taught also as part of our full DevOps track, you can learn and gain extensive practical experience and a diverse toolkit, with programming tools & languages such as Python, Zabbix, Kubernetes, Jenkins, Linux, etc. These will enable you to develop a rewarding career as a developer immediately upon graduation.

private lessons

Why Learn Docker

  • Portability: Docker containers ensure that applications run consistently across different environments, from development to production.
  • Efficiency: Docker allows for better resource utilization compared to traditional virtualization, leading to cost savings and improved performance.
  • Scalability: Containerization makes it easier to scale applications up or down based on demand.
  • Industry Adoption: Docker is widely used in the tech industry, making it a valuable skill for various IT and development roles.
  • DevOps Integration: Docker is a key tool in modern DevOps practices, facilitating continuous integration and deployment.
private lessons

What You Learn in Our Docker course

  • Docker Fundamentals
    • Understanding containerization and its benefits
    • Docker architecture and components
    • Installing and configuring Docker
  • Working with Docker Containers
    • Running and managing containers
    • Container lifecycle and states
    • Debugging and troubleshooting containers
  • Docker Images
    • Creating Docker images with Dockerfiles
    • Best practices for writing Dockerfiles
    • Working with Docker registries
  • Docker Compose
    • Defining and running multi-container applications
    • Managing application services, networks, and volumes
    • Compose file versions and syntax
  • Docker Networking
    • Understanding Docker network types
    • Creating and managing custom networks
    • Implementing container communication
  • Docker Volumes and Data Management
    • Persisting data with Docker volumes
    • Sharing data between containers and the host
    • Backup and restore strategies for containerized data
  • Docker in CI/CD
    • Integrating Docker with CI/CD tools (e.g., Jenkins, GitLab CI)
    • Building and pushing images in CI pipelines
    • Implementing automated testing for Docker images
  • Docker Security
    • Best practices for securing Docker containers
    • Implementing resource constraints
    • Working with Docker security scanning tools
  • Docker Orchestration Introduction
    • Overview of container orchestration
    • Introduction to Docker Swarm
    • Basics of Kubernetes
  • Real-World Projects
    • Containerizing a web application
    • Setting up a microservices architecture with Docker
    • Implementing a CI/CD pipeline with Docker
private lessons

Who Should Attend

  • Programmers and engineers with experience in software development / supporting existing software.
  • Companies providing software services and support to customers
private lessons

Prerequisites

  • Knowledge of Linux is mandatory
  • Familiarity with source control tools

Skills & Techniques

  • Containerization Fundamentals: Understand the core concepts of containerization and its benefits.
  • Docker Architecture: Grasp Docker's client-server architecture, including Docker daemon, REST API, and CLI.
  • Image Management: Create, modify, push, and pull Docker images using Dockerfiles and registries.
  • Container Lifecycle: Master creating, running, stopping, and removing containers.
  • Dockerfile Creation: Write efficient Dockerfiles for application containerization.
  • Multi-stage Builds: Implement multi-stage builds to create optimized, smaller Docker images.
  • Docker Networking: Configure and manage various Docker network types (bridge, host, overlay).
  • Data Management: Use Docker volumes and bind mounts for persistent data storage.
  • Docker Compose: Define and manage multi-container applications with Docker Compose.
  • Container Orchestration Basics: Understand the fundamentals of orchestrating containers across multiple hosts.

These skills and techniques prepare you for roles such as Docker Administrator, DevOps Engineer, Cloud Engineer, and Container Specialist. They provide a solid foundation for developing, deploying, and managing containerized applications in various environments, from development workstations to large-scale production systems.

Course Structure

Ch. 1

Introduction

Ch. 2

Docker custom build env

Ch. 3

Architecture

Ch. 4

Build, Ship & Run

Ch. 5

Difference form VMs

Ch. 6

Installing Docker

Ch. 7

Using Docker

Ch. 8

Dockerfile

Ch. 9

Running containers

Ch. 10

Docker Compose

Ch. 11

Implementing CI – Docker + Jenkins

Ch. 12

Installing Jenkins in Docker container

Ch. 13

Jenkins Docker Plugins

Ch. 14

Docker Workflow

Ch. 15

Build & publish

Ch. 16

Docker Hub notification

Ch. 17

Docker Traceability

Ch. 18

Docker slaves

Head of the department
teacher-image-Dmitri-Danilov

Meet your instructor

Dmitri Danilov

Head of QA and DevOps Departments

Holds a Bachelor of Science in Computer Science, Network manager, and C++ developer. UI/UX user interface developer for Android applications. Has a vast experience working with Jenkins, Git, Docker, K8S, Ansible, and as a Linux admin.

What our graduates say

FAQs

What is Docker and why is it used?

Docker is an open-source containerization platform. It allows developers to package applications into containers - standardized executable components that combine application source code with the operating system (OS) libraries and dependencies required to run that code in any environment.

close

Why should I use Docker?

Because Docker reduces the need for more infrastructure resources for development and the container created for individual processes can be shared with other applications with instances of these containerized applications using less memory compared to virtual machines - this makes the development and deployment process more cost-effective.

close

Is Docker a virtual machine?

Docker is a container-based technology and containers are just user space of the operating system. ... In Docker, running containers share the host operating system kernel. A virtual machine, on the other hand, is not based on container technology. They are composed of user space plus kernel space of an operating system.

close
All rights reserved Embedded Academy ©