slides



slides

0 0


slides


On Github thess-docker / slides

Docker for Developers

Python Meetup Thessaloniki, 15 April 2016

TheodorosPloumis.com / @theoploumisGet the presentation online/source

Let me ask you

  • Who knows about Docker?
  • Who uses Docker for development?
  • Who uses Docker in production?
  • Who tried but could not do it?

What is Docker (v1.9)

Docker is an open platform for developing, shipping, and running applications started at March 2013. Docker allows you to package an application with all of its dependencies into a standardized unit for software development.

Docker Benefits

  • Fast (deployment, migration, restarts)
  • Secure
  • Lightweight (save disk & CPU)
  • Open Source
  • Portable software
  • Microservices and integrations
  • Simplify DevOps
  • Version control capabilities

Common Docker usages

  • Rapid building
  • Debugging/Testing
  • Continuous Integration & Deployment
  • Scaling
  • Development collaboration
  • System configuration
  • Local development
  • Multi-tier applications

Technology behind Docker

  • Linux x86-64
  • Go language
  • Client - Server (deamon) architecture
  • Union file systems (UnionFS: AUFS, btrfs, vfs etc)
  • Namespaces
  • Control Groups (cgroups)
  • Container format (libcontainer)

The Docker architecture

Basic terminology

  • commands/instructions
  • Dockerfile
  • image
  • registry
  • container
  • docker cluster
  • ...

Steps of a Docker workflow

Docker commands

Dockerfile

The Docker toolbox

  • docker-engine
  • docker-compose
  • swarm
  • docker-machine
  • Kitematic
  • ...

The Docker war

  • Tools around Docker and for Docker...
  • The trends and the feature

Docker as a Service and hubs

  • hub.docker.com
  • Google container engine
  • Your own private registry
  • ...

Docker examples

  • Showcase a project

docker run --rm -it supertest2014/nyan

  • Run commands on container
  • Build an image
  • Linked containers (py app)
  • Docker as a vm
  • Package an app with its environment (tar)
  • Share an image (public)
  • Scale an app
  • Testing usage
  • Try everything inside Docker

Docker tips

  • Optimize containers
  • Linked best practices
  • Your private registry
  • Cleanup your docker files (<nonegt;:<nonegt;)
  • Create shortcut commands
  • Debugging containers
  • Docker Remote API
  • Network issues

Docker Alternatives

Questions?

Docker for Developers Python Meetup Thessaloniki, 15 April 2016 TheodorosPloumis.com / @theoploumis Get the presentation online/source