Getting started with Docker
What is Docker?

It's hardly an exaggeration to say that there hasn't been an innovation in app development and deployment over the past year or two that's been bigger than Docker. The open source platform for building, shipping, and running distributed applications in isolated virtual containers has literally changed the very fabric of the cloud. Thanks to Docker, software developers can reliably create and deploy applications with all their dependencies in Docker images that can be made available to anybody, and launched in seconds.

This introductory course, crafted by the expert Linux System Administrator David Clinton, will teach you everything you need to know to get started with Docker: What is the LXC software that it's built upon? How is it different from traditional virtualization technologies? How you can install and run it on your machine? By the end of this course, you'll have all the basic tools you'll need to run simple Docker applications.

Who should take this course

Being an introductory course, no previous knowledge of the software is needed. Nevertheless, you will definitely need at least some experience with the Linux Command Line Interface. Also, some familiarity with the Linux file system, kernel and networking basics might came in handy for some lectures.

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


Hi, and welcome to's video series on Docker the development oriented virtualization service. In this video, we'll introduce the concept of Docker, what it's really, really good at and where it comes from. 

Docker is an implementation of the LXC platform. LXC stands for Linux Container. LXC allows you to create extraordinarily lightweight virtual operating system environments.

While sharing the base kernel resources of a Linux operating system, you can very quickly and very efficiently start up a Linux distribution and use it, if you like, as a sandbox because you can open or close the networking ports exactly the way you'd like. You can create and delete instances that basically on demand, even as part of an automated process. We'll spend some more talking about LXC in a later video.

But Docker, which of course is the subject of this course, is a very specialized LXC implementation. It's made primarily to streamline the development process. That is developers, QA people, sys admins all each on their own whatever platform they happen to be running, whether it's Unix, or Linux. or FreeBSD or even Windows, wherever in the world they happen to be, whether it's in the same building as the other units of their business, or whether they're across the world. They can all use the latest iterations of an app or a software that's being developed confident that they're working in an identical environment.

That is they can have a place to fire up their app confident that all the dependencies and network settings and the environment is just the way it was when the developer created it, and the QA people passed it and the sys admins administered it. That's because Docker allows for full open and easy access to any version that you create. You push your Docker version to a get repo and anyone else can pull it down and fire it up. Of course, besides for development purposes all kinds of other implementations of Docker are possible.

With open source software, you're really limited only by your imagination.

About the Author
Learning Paths

David taught high school for twenty years, worked as a Linux system administrator for five years, and has been writing since he could hold a crayon between his fingers. His childhood bedroom wall has since been repainted.

Having worked directly with all kinds of technology, David derives great pleasure from completing projects that draw on as many tools from his toolkit as possible.

Besides being a Linux system administrator with a strong focus on virtualization and security tools, David writes technical documentation and user guides, and creates technology training videos.

His favorite technology tool is the one that should be just about ready for release tomorrow. Or Thursday.