Using Docker to Implement Effective Linux Virtualization

Learn to use Docker from the ground up to keep your sites and apps running longer, more securely, and more efficiently!
4.3 (87 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.
1,615 students enrolled
25% off
Take This Course
  • Lectures 24
  • Length 2 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


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


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

About This Course

Published 12/2014 English

Course Description

Course Description

Remember that time when you had to reinstall Linux?

What about when you crashed your own servers and had to spend more time fixing it?

Or when you had so many VMs running that your apps started running really sloooooowly?

It happens to the best of us.

Docker to the Rescue! Build Fast, Contained Applications on Linux

Docker came to the rescue to fix these problems, and it's been all the rage recently! Amazon supports it on Amazon Web Services, Google is running their search engine inside a Docker container, and even VMWare, who would seem to be a competitor, chose to work with the Docker team to make containerization work with their Virtual Machines.

Through this course, you will learn to use Docker from the point of view of a beginner, even if you are not familiar with virtualization and its benefits. By the end of this course, you will feel comfortable deploying user-facing applications hosted within containers, knowing that they will run more quickly, reliably, and scalably. Most importantly, you will have all the tools you need to confidently expand your own knowledge, and maybe even create your own cloud infrastructure!

Topics this course will cover:

  • Virtualization
  • Differences between traditional VMs and Docker containers
  • When and how to use the Dockerfile
  • Running containers forever
  • When to use aliases (all the time)
  • Getting ready for production
  • Container management tools
  • Deployment Strategies

The goal of this course is to provide you with the knowledge to use an effective tool to save time for your users. Consider that even shaving off one second on a website or app with a million page views per month saves a total of (1 000 000 seconds) / (3600 seconds per hour) = 278 hours per month, or a collective 11 days per month! So, you are wasting your users' time by not being able to deliver fast, reliable applications and websites. So, enroll in this course to learn how to accomplish this in a scalable, sustainable way! If you are not satisfied with the knowledge you gain from this course, you can request a full refund within the first 30 days. This is my personal guarantee to you.

What are the requirements?

  • A basic knowledge of the command line in Linux is highly recommended, although not necessary
  • It is recommended to already have a server setup with root access or be comfortable with Amazon EC2, a Linode with root access, or Google cloud with root access
  • It is even better if you have an app ready for production and you want to publish it. This way, you will gain the most value from the course and can ask questions in the discussion about potential hangups during the hosting process.

What am I going to get from this course?

  • Recognize the difference between VMs and containers
  • Know the benefits of containerization
  • Gain a stronger understanding of Docker commands
  • Run an HTTP in a Docker container that can be accessed on the World Wide Web
  • Recognize some of the best practices when using Docker in production

Who is the target audience?

  • Developers interested in deploying their applications in a scalable way
  • System administrator wanting to improve the efficiency of their servers
  • Navigating Linux folders using the command line is preferred, although not necessary
  • Having a public-facing server or VM with command line access is required. If you don't have one, you can set one up on Amazon EC2 or Google Cloud
  • This course is not for students with a weak programming background that have yet to develop an app or website

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.


Section 1: Conceptual Overview and Getting Started
Overview of the Course
An Introduction to Virtualization
The benefits of Virtualization
Installing Docker
Installation problems?
2 questions

This quiz has questions about the key points in Section 1

Section 2: Setup Tools and SSH Containers
Running our first guest container
Creating an ssh service using a Dockerfile
Creating an ssh service by committing a container
Creating an ssh container from the Docker Index
Mapping specific ports to containers
Using aliases effectively to shorten Docker commands
4 questions

A quiz that acts as a review for section 2

Section 3: Best Practices for Production
Setting up a Secure FTP connection
Making containers run forever
Why and how to disable root login
Setting up the server's SSH config file
Running a production app (part 1) - HTTP server
Running a production app (part 2) - Database
Running a production app (part 3) - Linking the server and database containers
Running a production app (part 4) - Mean.js example application
6 questions

This quiz is for testing how ready you are to deploy a container in production

Section 4: Power User Features

After this lecture, you should understand the benefits of docker-compose and how to install it on your machine.


After this lecture, you will have an idea of how a docker-compose.yml file is structured and how to use docker-compose to get up and running with an app or project requiring multiple containers.


This lecture will give you an idea of things to take into consideration before deploying your docker application in production.

Using Rancher to manage multiple docker containers and hosts
5 questions

This is a quiz on Section 4, features that Docker's power users would use

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Yatit Thakker, JS Aficionado, Full Stack Developer, Co-Founder at Omninox

Hi there! My name is Yatit Thakker. I am a Co-Founder at Omninox, a company that makes and publishes interactive books. I am also a self-taught developer with a background and a strong interest in making websites mobile-friendly, especially now that more and more people are accessing the internet on their mobile devices, which don't have very fast connection speeds. I have been doing JavaScript web development for almost three years, including server-side development. I have also been a highly rated (26 positive 0 negative votes) tutor on InstaEdu, so I know how to deliver information in a clear, concise, understandable way. I am excited to be able to share this knowledge to more learners with the help of Udemy.

Ready to start learning?
Take This Course