Introduction to Docker
Getting Started

Introduction to Docker

Containers are taking the industry by storm--from production microservices architectures to reworking development environments. Docker is empowering teams to start using containers today.

This course comes from my two years of running Docker in production, and more importantly teaching people how to use Docker. Docker changed everything for me when I started. It enabled my team and I to create portable and similar workflows across the different languages we used. Docker also enabled us to deploy new services in any language. It really felt light years ahead of where we where before. Hopefully the course captures some of the power and helps you take a step in this direction.

The high level goal for the course is to give your first taste of Docker and container technologies. Docker is not the first container technology, but it's the one that hit critical mass and is changing everything. Containerization changes how we need to think about developing and shipping software. This course should give you enough bearing to understand things you can start using today, then wider technical topics for coming months.

We'll start off with an introduction to container technologies. It may surprise you, but the underlying bits have actually been around for some time. Docker is new and making them accessible to teams of all shapes and sizes. Next we'll cover what I call the "Container Fundamentals". This will teach you the basics of interacting with containers, starting, stopping, networking, and docker volumes. Then we move onto building Docker images and how to apply Docker to your development process. The final lessons demonstrates building a microservices application using Docker Compose and deploying it with Docker Machine.

The course capstones with a summary and more importantly items that could not make into the course and points for further investigation. Hint, the next step is to look out different ways to run Docker in production.

All sound good? Check the first video and happy shipping!


Course Objectives

By the end of this course, you'll know:

  • The purpose and value of Docker
  • How to create a container
  • How to create multiple containers
  • What tools are available to orchastrate containers in production


Intended Audience

This is a beginner level course though it assumes:

  • You have at least a basic understanding of containers
  • You’re at least familiar with building and deploying code


What You'll Learn

A review of the course

LectureWhat you'll learn
Intro What will be covered in this course
Container Technologies A review of the evolution of containers
Fundamentals 1 A review of Docker fundamentals
Fundamentals 2 A wrap up of our review on Docker fundamentals
Building Images How to build docker images
Docker Toolchain What tools exist in the Docker toolchain
Summary What's next?

Do you have questions on this course? Contact our cloud experts in our community forum.


Hello everyone, I'm Adam Hawkins, and I'll be your instructor for this Introduction to Docker course from CloudAcademy.

Docker is a tool to build, ship, and run applications independent from their underlying platform. And I'll tell you what, it's having a huge, huge impact on the industry. Since arriving on the scene back in 2014, it has changed the way many teams build, ship, run, and deploy their applications. My goal for this course is to teach you to use Docker to build, ship, and run your own applications.

The course material comes directly from my experience teaching people the Docker fundamentals. Moreover, the course covers how to get things done using Docker and the associated tools. This course is not going to turn you into an expert. However, it will give you the skills needed to get started today.

This may all sound a bit vague, so let's clarify the learning objectives. By the end of this course you'll be able to one, understand container technologies. Two, leverage Docker's use cases. Three, run, start, stop, and network Docker containers. Four, build and share Docker images. Five, develop multi-container applications with Docker Compose. Hint, think about micro-services. Six, bootstrap Docker hosts with Docker Machine, and finally and most importantly and also I think the coolest, number seven, deploy a multi-stage Docker application.

So, all that being said, who's this course for anyway? Well, Docker is increasingly becoming one of the go to skills for many IT professionals. So if you're looking for a Sight Reliability Engineer, Operations Engineer, or Infrastructure Engineering position, then this course will fit the bill. If you're any other sort of software engineer, then this course will help you scale, automate, and improve your existing workflow.

Docker is such a powerful tool that it overlaps with many technical domains, so everyone comes to Docker with their own technical background and perspective. So I can't assume much about you. However, I do expect you're comfortable working in a terminal. One last thing before we get going. First off, I'm going to skip the bog standard installation section and just leave that one to you. I have more useful and high impact material to share with you. I'm going to use Ubuntu Linux for everything in this course. Next, we're gonna move quickly through all of these topics.

This course summarizes two years of my experience using and teaching Docker, so I've got to move quickly to fit that all in just about over an hour or so. However, lucky for you, this is just a video. So feel free to pause, rewind, and rewatch, replay, as many times as you need. I promise I'm always going to be there when you get back.

Lastly, I hang out on the internet, so feel free to reach me via e-mail, Twitter, or the CloudAcademy community forum. Odds are you'll have questions, so don't hesitate to ask. So, all good? Let's take our first stop with Container Technologies.

About the Author

Adam is backend/service engineer turned deployment and infrastructure engineer. His passion is building rock solid services and equally powerful deployment pipelines. He has been working with Docker for years and leads the SRE team at Saltside. Outside of work he's a traveller, beach bum, and trance addict.