Introduction to Docker

Difficulty: Intermediate
Duration: 4 minutes and 38 seconds
Students: 25,623
Rating: 4.8/5

Welcome to Introduction to Docker! In this Lesson, you'll learn the foundations of using Docker. You'll learn about images and containers, port mapping, Docker networks, volumes, tagging, and more. By the end of the Lesson, you should be comfortable with the basic functionality of Docker.

Containers have existed in some form for a while now. However, it was Docker that brought them into the mainstream. And Docker containers have become synonymous with the word "container" because of their popularity. Docker containers have made it easier for many developers and operations teams to build, ship, and deploy their code.

While Docker containers may only be a transitional technology between virtual machines and unikernels (or something similar), they currently remain one of the more effective ways to ship code, which is why having an understanding of Docker has become almost a requirement for technical engineers.

Learning Objectives

  • You should understand what Docker is
  • You should understand how to create Docker images
  • You should understand how to map ports between Docker and the Host OS
  • You should understand the basics of Docker networking
  • You should understand how to use volumes for persistent storage
  • You should be able to tag images

Intended Audience

  • DevOps Engineer
  • Developer
  • Site Reliability Engineer
  • Operations Engineer

Resources

The Lesson assets
https://github.com/cloudacademy/introduction_to_docker

Docker installation instructions
https://docs.docker.com/engine/installation/

If you want to use Vagrant
https://www.vagrantup.com/docs/index.html

The IDE used in the Lesson
https://code.visualstudio.com/

A Dockerfile reference
https://docs.docker.com/engine/reference/builder/

Tooling for the Go language used in the demos
https://golang.org/