Saturday 10:50 a.m.–11:20 a.m.

Introduction to Docker

Amjith Ramanujam

Audience level:
Novice
Category:
Systems Administration

Description

Docker is a tool for sandboxing entire application environments using Linux containers. Docker's feature set includes versioning, sharing etc. They are light-weight and fast, you can recreate a deployment environment in development or push your development containers to production. Imagine never having to worry about fragmentation of servers or syncing the versions of different libraries.

Abstract

Docker is an open source tool that simplifies managing Linux containers. A container is a sandbox environment that runs a collection of processes. Containers are light-weight VMs that share the same kernel as the host OS. Docker adds some niceties to Linux containers such as AUFS, version control, docker registry (repository), versioning etc. This talk will serve as an introduction to working with docker tools. I'll cover the basic concepts behind docker and explain the difference between a docker container and a VM. Show a demo of how easy it is to create a docker image and launch a container from it. Briefly explain the idea behind Dockerfile and show some examples. I'll cover how networking and filesystem changes are handled in Docker. Show a demo of how to deploy a Django application in docker and explain why it's useful to do so in production. I'll also cover some common use cases of docker in the industry such as testing, deployment, PAAS etc.