The Complete Docker Course for DevOps and Developers

Learn how to develop and deploy modern web applications with Docker. Take your DevOps skills to the next level.
4.7 (1,203 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
8,358 students enrolled
$19
$25
24% off
Take This Course
  • Lectures 40
  • Length 6 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 8/2016 English

Course Description

What is this course about:

This course covers all the fundamentals about Docker and teach you everything you need to know about developing and deploying modern applications with Docker.

In the end of this course, you will gain in-depth knowledge about Docker and general DevOps skills to help your company or your own project to apply the right docker workflow and continuously deliver better software.

What will you learn from this lecture:

In particularly, you will learn:

  • Containerize a web-based application with a micro-service approach and automate it using Dockerfile.
  • Design multi-container applications and automate the workflow using Compose.
  • Scale Docker workflow with Docker Swarm, orchestrate and deploy a large-scale application across multiple hosts in the cloud.
  • Best practices of working with Docker in the field.
  • In-depth knowledge about Docker and confidence to help your company or your own project to apply the right Docker deployment workflow and continuously deliver better software.
  • Invaluable DevOps skills such as setting up continuous integration pipelines.


Why shall we learn Docker:

Docker is on the bleeding edge of technology today.  It is also one of the most compelling technologies of the last decade in terms of its disruption to software development, operations, systems architecture, testing and compliance practices.

Docker is becoming a must tool for developers. containers and the Docker’s approach gives you the opportunity to work without any need of dependencies. Docker allows developers to focus on the things which actually matters without worrying about the environment where the application runs. 

Tons of companies are using docker in production, today you have the access to that same virtualization technology right on your desktop. 


About the author:

In the past, James Lee worked at many companies such as Amazon and Google. Now James is working at one of the top Silicon Valley startups specializing big data analysis.

During the past two years, James has been leading his team to dockerize their old monolithic applications with a micro-service approach.

James' company has gained massive benefits by running Docker in production. In this course, he is going to share with you his years of knowledge and best practices of working with docker in the real field.


Why DevOps skills?

Nowadays DevOps engineers are in great demand in the IT industry. Companies are looking for developers who can both develop and deploy the applications.

The average salary of a DevOps engineer is about $140,000 per year in Silicon Valley area which is 20% higher than the salary of a software engineer.

Master DevOps Skills means you will be staying ahead in the competitive job market!


Why choosing this course?

This course is very hands on, James has put lots effort to provide you with not only the theory but also real-life examples of developing Docker applications that you can try out on your own laptop.

James has uploaded all the source code to Github and you will be able to follow along with either windows, MAC OS or Linux.

In the end of this course, James is confident that you will gain in depth knowledge about Docker and general DevOps skills to help your company or your own project to apply the right docker workflow and continuously deliver better software.


30-day money-back guarantee!

You will get 30-day money-back guarantee from Udemy for this course.

 If not satisfied simply ask for a refund within 30 days. You will get full refund. No questions whatsoever asked.


Are you ready to take your DevOps skills and career to the next level, take this course now!

You will go from zero to Docker hero in 4 hours.

What are the requirements?

  • A computer running Windows, OSX or Linux.
  • Knowledge of Git and Linux will be preferred but NOT required.
  • Prior experience with Docker is NOT required.

What am I going to get from this course?

  • Containerize a web-based application with a microservice approach and automate it using Dockerfile
  • Design multi-container applications and automate the workflow using Compose
  • Scale Docker workflow with Docker Swarm, orchestrate and deploy a large-scale application across multiple hosts in the cloud
  • Best practices of working with Docker in the field
  • In-depth knowledge about Docker and confidence to help your company or your own project to apply the right Docker deployment workflow and continuously deliver better software
  • Invaluable DevOps skills such as setting up continuous integration workflows
  • And much much more...

What is the target audience?

  • Anyone who want to fully understand how Docker works and learn how Docker is being used in the field.
  • DevOps, Developers, or QAs who want to advance their career by improving their DevOps skills.
  • Developers who want to learn how to develop and deploy dockerized modern web applications with a micro-service approach.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Get Started with Docker
Course Overview: Welcome to the Docker World
Preview
04:12
Course Slides
Article
Introduction to Virtualization Technologies
Preview
08:39
Introduction to Virtualization Technologies
1 question
Docker's Client-Server Architecture
01:33
Docker's Client-Server Architecture
1 question
04:39

Step by step instructions to install docker on your local machine.

Install Docker Toolbox
04:34
04:50

In this lecture, we will get a conceptual understanding of some important Docker terminologies such as images, containers, registry and repositories. 

Important Docker Concepts
1 question
05:32

We will start our first Docker workflow: pull an image from Docker Hub, create and run a container from the image.

Run Our First Hello World Docker Container
1 question
04:39

In this lecture, we are going to deep dive into Docker containers. We will learn how to run containers in detached mode, how to use docker ps and docker inspect command, and how to specify docker container names.

Deep Dive into Docker Containers
1 question
03:38

Learn how to map container ports to host ports and use docker logs command.

Docker Port Mapping
1 question
Section 2: Working with Docker Images
02:13

Images are made up of layers. In this lecture, we will give an instruction to docker image layers.

Docker Image Layers
1 question
04:56

Learn how to create a Docker image by committing changes made in a container.

07:14

Learn how to build Docker images by writing Docker files.

07:13

We will learn more Docker file instructions such as CMD, COPY and ADD, and the best practices to write Docker files. We will also cover how to take advantage of Docker cache to reduce build time and how to avoid aggressive caching.

04:38

Learn how to tag images and push images to Docker hub.

Section 3: Create Dockerized Web Applications
Dockerize a Simple Hello World Web Application
Preview
09:48
Text Direction: Dockerize a Hello World Web Application
Article
07:54

In this lecture, we will turn our hello world application into a simple key value lookup web app. We will start with implementing this key value lookup web app as a single service. Then, we would look into splitting this application into two small services and run them in two different containers and we will see how this naturally leads to a micro-service approach.

05:15

We will see how to create docker links between the Redis container and our Docker app container and we will talk about how container link works behind the scenes.

07:02

Automate our current Docker workflow with Docker compose and summarize the benefits of using Docker compose.

05:06

We will learn more about Docker compose workflows and introduce compose commands such as docker compose logs and docker compose build.

Section 4: Create a Continous Integration Pipeline
03:47

We will see how we can write some unit tests for our application and run those tests inside a container.

06:42

In this lecture, we will introduce what is a continuous integration pipeline and how Docker workflow fits into it. Then we will configure our Github account for setting up a continuous integration pipeline.

Text Direction: Introduction to Continuous Integration
Article
05:48

In this lecture we will learn how to link circle CI with our Github repository for setting up a continuous integration workflow.

06:33

In this lecture, we will see how we can publish the newly built Docker image to Docker hub from CircleCI if the test is green.

Section 5: Deploy Docker in Production
07:22

In this lecture, we will talk about different perspectives about Docker’s usage production and the best practice of running Docker in production.

Register Digital Ocean Account for Deploying Dockerized Applications
03:15
05:44

In this lecture, we will finally start deploying our docker app to the cloud by using docker machine.

Text Direction: Deploy Docker App to the Cloud with Docker Machine
Article
Refactor Docker Compose File
02:55
Introduction to Docker Swarm and Service Discovery
06:18
Text Direction: Introduction to Docker Swarm and Service Discovery
Article
Deploy Docker App to the Cloud with Docker Swarm
06:35
Text Direction: Deploy Docker App to the Cloud with Docker Swarm
Article
Section 6: Additional Learning Materials
Further Learning
Article
Extending Docker with APIs, Drivers and Plugins
45:56
Operationalize your Docker Built Apps in Production
51:22
Docker Networking Deep Dive, Considerations and Troubleshooting
01:10:06
Docker Storage and Volumes Deep Dive and Considerations
42:17

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

James Lee, Silicon Valley Software engineer

James Lee is a passionate software wizard who worked on many large-scale projects in companies like Amazon and Google. Now he is working at one of the top Silicon Valley-based startups specializing in big data analysis. In his day job, he works with big data technologies such as Cassandra and ElasticSearch, and he is an absolute Docker geek and IntelliJ IDEA lover with strong focus on efficiency and simplicity.

Apart from his career as a software engineer, he is keen on sharing his knowledge with others and guiding them especially for startups and programming. He has been teaching courses and conducting workshops on Java programming / IntelliJ IDEA since he was 21.

He enjoys working with Udemy because here he can share all his field knowledge and secrets with a broader audience. He hopes students will definitely benefit from his years of experience. The students will be thrilled of association with James and Udemy. And we are also excited to have you on board.

James Lee has a BS degree in Computer Science from McGill University and many years of experience as a teaching assistant for various computer science classes.

James Lee also enjoys skiing and swimming, and he is a passionate traveler.

Ready to start learning?
Take This Course