User Tools

Site Tools


projects:docker_intro

Introduction to Docker

What is Docker ?

  • OS level virtualization on Linux
  • Resources isolation using Linux kernel features
  • Single OS, multiple containter instances
  • Application view on OS is isolated
  • Provides the same environment on all platforms.

<html> <?xml version=“1.0” standalone=“yes”?>

inline-svg@projects:docker_intro

</html>

Union filesystem

aufs (advanced multi layered unification filesystem)

<html> <?xml version=“1.0” encoding=“UTF-8” standalone=“no”?>

inline-svg@projects:docker_intro

</html>

Docker Family

Docker Inc

Commercial company behind Docker.

Docker Engine

Docker Engine runs on Linux to create the operating environment for your distributed applications.

Docker Daemon

Persistent Linux service that manages containers in the system.

Docker Client

Utilises Docker API to talk with the daemon.

Docker Machine

Automate Docker provisioning. Sets up docker or different systems (cloud, mac, windows)

Docker Registry

Docker Registry is an open source application dedicated to the storage and distribution of your Docker images.

Docker Compose

Docker Compose allows you to define your multi-container application with all of its dependencies in a single file, then spin your application up in a single command.

Docker Swarm

Docker Swarm provides native clustering capabilities to turn a group of Docker engines into a single, virtual Docker Engine.

Kitematic

Build and run containers through a simple, yet powerful graphical user interface (GUI).

Docker Datacenter

Docker Datacenter brings container management and deployment services to enterprises with a production-ready platform supported by Docker and hosted locally behind the firewall

Docker Cloud

A hosted service for Docker container management and deployment.

Docker Hub

Docker Hub is a cloud hosted service from Docker that provides registry capabilities for public and private content.

Docker Toolbox

Installer for Docker tools on Windows and Mac.

boot2docker

Minimalistic Linux distribution used to run Docker on Windows and Mac.

Concepts

Image

Container

Instance of the image.

The concept is borrowed from Shipping Containers, which define a standard to ship goods globally. Docker defines a standard to ship software.

Installation

  • Ensure if the CPU virtualization is enabled in BIOS.
    • Do not install Virtual Box if it is already installed.
  • Setup environment variables accordingly to docker-machine env

Usage

  • docker-machine
  • run
    • -d
    • –name
    • -p
    • -v
    • entrypoint
  • ps
  • images
  • build (Dockerfile) (python http server)
  • attach
  • exec
  • commit
  • login
  • export/save

docker run hello-world

docker run -d hello-world

docker run -d –name HELLO hello-world

docker ps

docker ps -a

docker run -d -p 8000:80 –name dokuwiki istepanov/dokuwiki:2.0

docker images

docker build -t maciejkucia/myapplication .

What next?

See “Dockerize an application” examples (https://docs.docker.com/engine/examples/)

Learn about:

Explore Docker Hub (https://hub.docker.com/)

References

projects/docker_intro.txt · Last modified: 2016/03/13 21:57 by mkucia