SlideShare a Scribd company logo
1 of 78
Download to read offline
Django and Docker: a marriage
made in heaven
Ken Cochrane
DjangoCon US 2013
1
About me
• Ken Cochrane (@KenCochrane)
• Engineer at dotCloud (Corporate sponsor
of Docker)
• Work on Docker and Docker related
projects (index, registry, docs, etc)
• Django user since 0.96.1
2
Outline
• Intro to Docker
• Common use cases
• Demo
• Questions
3
Quick survey
4
Quick survey
• How many people have heard of Docker
before today?
4
Quick survey
• How many people have heard of Docker
before today?
• How many people have tried Docker?
4
Quick survey
• How many people have heard of Docker
before today?
• How many people have tried Docker?
• How many people are using Docker on a
project today?
4
Where did Docker come from?
• Docker is a rewrite of similar code
that currently powers the dotCloud
PaaS
• Original version written in Python,
new version written in Go.
• Still a very young project, but mature
for it’s age.
5
Docker Timeline
• January 2013 Docker started as internal project inside of
dotCloud
• March 21, 2013 Solomon gives Docker lighting talk at
PyCon US
• March 27, 2013 Docker released to Public
• June 2013 Docker adds OpenStack compatibility
• August 2013 Docker 0.6 released
6
In the first 6 months
• 5300+ GitHub stars
• 125+ contributors
• 50,000+ docker index pulls
• 100’s of projects built on top of Docker
• UI’s, mini-PaaS, remote desktop,etc
• 1000’s of Dockerized applications
7
What is Docker?
• Docker is an open-source engine that
automates the deployment of any
application as a lightweight, portable,
self-sufficient container that will run
virtually anywhere.
8
How does Docker work?
• LinuX Containers (LXC)
• Control Groups & Namespaces
• AUFS
9
LinuX Containers (LXC)
• lets you run a Linux system within another
Linux system
• A container is a group of processes on a Linux
box, put together in an isolated environment
• Inside the box, looks like a VM.
• Outside of the box, it looks like normal
processes.
• chroot on steroids
10
Why Containers?
• Speed: Boots in seconds.
• Footprint: 100-1000 containers on one
machine. Small disk requirements
11
Containers vs. VMs
12
Why are Containers lightweight?
13
Installing Docker
14
Docker Requirements
• Linux Kernel 3.8 or above
• AUFS
• LXC
• 64Bit
15
Installations
• Server or Desktop (Vagrant)
• Docker APT repo (get.docker.io)
• Source code compile
• Binary download
• http://docs.docker.io/en/latest/installation/
16
Vagrant install
• git clone https://github.com/dotcloud/docker.git
• vagrant up
• vagrant ssh
• sudo docker
17
Binary install
• wget http://get.docker.io/builds/Linux/x86_64/docker-latest.tgz
• tar -xf docker-latest.tgz
• sudo ./docker -d &
• Still need to install system startup script
18
Docker on Digital Ocean in 5 easy steps
# Create Ubuntu 13.04 64 Bit Droplet, Then
$ sudo apt-get update
$ sudo apt-get install linux-image-extra-`uname -r`
$ sudo sh -c "curl http://get.docker.io/gpg | apt-key add -"
$ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/
sources.list.d/docker.list"
$ sudo apt-get update && sudo apt-get install lxc-docker
19
Docker on Digital Ocean in 1 step
When creating the Droplet. Select the
Docker image under the application
20
Awesome Sauce
• The Awesome folks at Digital Ocean has given everyone
here a great deal.
• No more excuses! Try Docker for Free on Digital Ocean
• Go to http://tinyurl.com/docker10 and enter in the
promo code DJANGOCON2013 when prompted for a
$10 credit. SSD backed VPS servers as low as $5/month
Do it now, before the deal expires.
• http://tinyurl.com/docker10
21
Use Cases
22
Docker Use Cases
• Local Dev environment
• Deployment
• Unit testing
• parallelize tests
• one db per test
• system tests
23
Testing
24
Unit testing
• Use containers to isolate tests into their own
environment.
• No more worrying about tests not cleaning
up after themselves.
• Parallelize the tests across multiple machines
25
System Testing
• Easily create all the different system
configurations to test against
• No need to worry about breaking or rebuilding a
test server
• Test Fabric scripts
• http://agiliq.com/blog/2013/06/self-testing-fabfile-using-docker/
26
Continuous Integration
• Run unit tests after each source commit
• StriderCD.com - Open source CI server
• Uses Docker Containers to run CI tests
before deployment.
• TravisCI is also playing with Docker
27
Deployment
28
Docker Deployment
• dokku
• Flynn.io
• deis.io
• chef, puppet, salt, ansible, etc
29
Dokku
• Open source PaaS
• Docker powered mini-heroku
• Less than 100 lines of Bash
• Heroku buildpacks
• Git push deployment
• https://github.com/progrium/dokku
30
Flynn.io
• Open source PaaS written in Go
• Uses Docker to manage containers
• One of the founders is author of Dokku
• Still in development
31
deis.io
• Open source written in Python
• Git push deployments
• Docker images, chef recipes or Heroku
buildpacks
• Supports scaling and application
formation
32
Chef
• chef-docker
• docker-cookbook
33
Puppet
garethr/docker
34
34
Salt stack
• ipmb/salt-minion
• kstaken/salt-test-runner
35
Ansible
• cove/docker-ansible
• bryfry/ansible-docker
36
Local Development
37
Local Dev Setup
• VM’s are heavy, containers not so much
• Run 100’s of containers on laptop vs a handful
of VMs
• Easier to duplicate production environment if
you have a complex setup.
• http://blog.scoutapp.com/articles/2013/08/28/docker-git-for-deployment
38
Cool Projects Using
Docker
39
Cool projects
• npmt.abru.pt: Node.js Module (NPM) testing
• ptone/jiffylab: Zero configuration Python/Unix web
based teaching environment
• kitchen-Docker: Docker driver for Ruby’s test kitchen
• MemcachedAsaService.com
• Try RethinkDB, openstack-docker
• Many many more.
40
npmt.abru.pt
• Autonomously Testing All NPM modules
• One container per module is created then
destroyed when test is finished.
• 39496 modules verified
41
kitchen-docker
• A Ruby framework for running integration
tests in an isolated environment
• Uses Docker to run tests in containers
• https://github.com/portertech/kitchen-docker
42
JiffyLab
• Created by Preston Holmes
• Provides an entirely web based
environment for instruction.
• Python and UNIX shell env running in it’s
own Docker container
• https://github.com/ptone/jiffylab
43
Memcached SaaS
• Built as a class project
• Memcached SaaS built on top of Docker
• Built with Ruby on Rails
• https://github.com/jbarbier/SaaS_Memcached/
44
Try RethinkDB
• SaaS that let you try out RethinkDB
• One DB per container
• Containers killed within 24 hours
• 1000’s of containers on one host
45
openstack-docker
• Deploy lightweight linux containers on
Openstack
• https://github.com/dotcloud/openstack-
docker
46
Using Docker
47
Docker terms
• Container: Linux container
• Image: a snapshot of a container that when run creates a new
container.
• Index: Public docker image directory
• Dockerfile: An automated script used to create an Image
• Push/pull : Commands used to get images to and from the index
• Run: Start a Docker image to create a running Container
48
Common commands
• ps : lists the containers on the system
• images : lists the images on the system
• run : runs commands against an image to create a container
• stop : stops a running command
• build : builds a Dockerfile
• inspect: shows you information about a container
• pull: pulls down a new image from the docker index
• logs: shows the logs for a given container
49
Docker Basics
50
Changes and Updates
51
Docker Run
• Run command and exit
• $ docker run ubuntu echo “hello world”
• Start interactive shell in container
• $ docker run -i -t ubuntu bash
• Run command in background
• $ docker run -d ubuntu /bin/sh -c “while true; do
echo hello world; date; sleep 1; done”
52
Dockerfiles
53
Dockerfiles
• Simple scripting language
• Automate the creation of docker images
• Built in caching
• Add them to any project repo to
Dockerize the project.
• Online tutorial
• http://www.docker.io/learn/dockerfile/
54
Building Images by hand
# start a ubuntu 12.10 container
$ docker run -i -t ubuntu:12.10 bash
# update the apt repo
[a2bc13] $ apt-get update
# install curl
[a2bc13] $ apt-get install curl
# exit out of container
[a2bc13] $ exit
# save changes to container as an image
$ docker commit -m "comment" a2bc13 username/image
55
Build image using Dockerfile
# curl image
# VERSION 0.1
FROM ubuntu:12.10
MAINTAINER yourName name@example.com
RUN apt-get -qq update
RUN apt-get install -y curl
56
Docker build
• docker build .
• docker build - < Dockerfile
• docker build github.com/creak/docker-firefox
• use “-t” to tag built image
• docker build -t myname/myimage .
57
Redis Dockerfile example
# Redis
# VERSION 0.1
FROM johncosta/redis
MAINTAINER yourName name@example.com
EXPOSE 6379
RUN mkdir /redis
ENTRYPOINT ["/usr/bin/redis-server"]
CMD ["--dir", "/redis"]
58
Docker Index
59
Docker index
• Similar to PyPI but for Docker images
• Public directory to store and download
reusable docker images
• Docker image meta data
• Account required to publish images (free)
• Written in Django
• https://index.docker.io
60
Docker registry
• Open source Python Flask app
• https://github.com/dotcloud/docker-registry
• Manages the storage of the images
• Install private registry for private images
61
Docker API
62
Docker API
• REST based API used to control the
Docker daemon
• live events api feed
• some websocket support
• The Docker CLI uses the same API
• Clients available for most languages
63
Docker clients
• python: docker-py
• ruby: docker-ruby, docker-client, docker-
api
• javascript: docker-js, dockerui
• Java: docker-java
64
Docker-py
import docker
# create client
docker_client = docker.Client(base_url='unix://var/run/docker.sock', version="1.4")
# create container
container = docker_client.create_container('ubuntu', None, detach=True)
container_id = container.get('Id')
# start Container
docker_client.start(container_id)
# get Ip address
meta = docker_client.inspect_container(container_id)
ip = meta.get('NetworkSettings').get("IPAddress")
# stop container
docker_client.stop(container_id)
65
Docker UI’s
• Shipyard: Django
• https://github.com/ehazlett/shipyard
• Docker-UI: Angular.js
• https://github.com/crosbymichael/dockerui
• Dockland: Ruby
• https://github.com/dynport/dockland
66
Demo
67
Coming Soon
68
Docker 1.0
• Pluggable architecture
• LXC, Solaris Zones, FreeBSD Zones, etc
• AUFS, BTRFS, etc
• Better OS support (RedHat, etc)
69
Docker 1.0 design
70
Want to Learn more?
• Website: http://www.docker.io
• Documentation: http://docs.docker.io
• Github: https://github.com/dotcloud/docker
• IRC: freenode #docker
• Twitter: follow @docker
• Google group: groups.google.com/forum/#!forum/docker-
user
• Meetups: Boston, New York, London, Paris, San Francisco,
and more coming soon. Go to website for details.
71
Docker OpenSpace
• Questions, installation help, etc
• Today (Monday) @ 2-3pm
• Grand suite 5
72
Docker Swag
• I have a limited amount of Docker swag
to give away.
• T-shirts
• Stickers
• Send me a tweet @KenCochrane if you
want one.
73
Questions?
74
Thank you!
@KenCochrane
75

More Related Content

What's hot

Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQdotCloud
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopJirayut Nimsaeng
 
Docker : Container Virtualization
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container VirtualizationRanjan Baisak
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshopRuncy Oommen
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOpsandersjanmyr
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...Jérôme Petazzoni
 
DCA. certificate slide Session 1
DCA. certificate slide Session 1DCA. certificate slide Session 1
DCA. certificate slide Session 1Hadi Tayanloo
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralovedamovsky
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basicsWalid Ashraf
 
DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubdotCloud
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeDocker, Inc.
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Edureka!
 
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire dotCloud
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016Walid Shaari
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSFrank Munz
 

What's hot (20)

Docker, LinuX Container
Docker, LinuX ContainerDocker, LinuX Container
Docker, LinuX Container
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
 
Docker : Container Virtualization
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container Virtualization
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
 
DCA. certificate slide Session 1
DCA. certificate slide Session 1DCA. certificate slide Session 1
DCA. certificate slide Session 1
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basics
 
DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
 
Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
 
Be a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the TradeBe a Happier Developer with Docker: Tricks of the Trade
Be a Happier Developer with Docker: Tricks of the Trade
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
 
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 

Viewers also liked

Building a platform with Django, Docker, and Salt
Building a platform with Django, Docker, and SaltBuilding a platform with Django, Docker, and Salt
Building a platform with Django, Docker, and Saltbaremetal
 
SQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni ÖzelliklerSQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni Özelliklerturgaysahtiyan
 
System Center 2012 - January Licensing Update
System Center 2012 - January Licensing UpdateSystem Center 2012 - January Licensing Update
System Center 2012 - January Licensing UpdateSoftchoice Corporation
 
Softchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 ChangesSoftchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 ChangesSoftchoice Corporation
 
You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...
You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...
You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...Softchoice Corporation
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & FeaturesPhil Peace
 
Nordic VMUG User Conference 2014 - Design VMware vCenter Server
Nordic VMUG User Conference 2014 - Design VMware vCenter ServerNordic VMUG User Conference 2014 - Design VMware vCenter Server
Nordic VMUG User Conference 2014 - Design VMware vCenter ServerAndrea Mauro
 
Limewood Event - VMware
Limewood Event - VMware Limewood Event - VMware
Limewood Event - VMware BlueChipICT
 
VMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOL
VMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOLVMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOL
VMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOLgguglie
 
Findability Day 2015 Mattias Ellison - Findwise - Enterprise Search and fin...
Findability Day 2015   Mattias Ellison - Findwise - Enterprise Search and fin...Findability Day 2015   Mattias Ellison - Findwise - Enterprise Search and fin...
Findability Day 2015 Mattias Ellison - Findwise - Enterprise Search and fin...Findwise
 
Site Recovery Manager - Una visione architetturale
Site Recovery Manager - Una visione architetturaleSite Recovery Manager - Una visione architetturale
Site Recovery Manager - Una visione architetturalegguglie
 
SQL Server Performans İpuçları
SQL Server Performans İpuçlarıSQL Server Performans İpuçları
SQL Server Performans İpuçlarıturgaysahtiyan
 
vCenter and ESXi network port communications
vCenter and ESXi network port communicationsvCenter and ESXi network port communications
vCenter and ESXi network port communicationsAnimesh Dixit
 
Virtual Space Race: How IT with The Right Stuff Creates a Competitive Advantage
Virtual Space Race: How IT with The Right Stuff Creates a Competitive AdvantageVirtual Space Race: How IT with The Right Stuff Creates a Competitive Advantage
Virtual Space Race: How IT with The Right Stuff Creates a Competitive AdvantageSoftchoice Corporation
 
VMworld 2014: Site Recovery Manager and vSphere Replication
VMworld 2014: Site Recovery Manager and vSphere ReplicationVMworld 2014: Site Recovery Manager and vSphere Replication
VMworld 2014: Site Recovery Manager and vSphere ReplicationVMworld
 

Viewers also liked (20)

Building a platform with Django, Docker, and Salt
Building a platform with Django, Docker, and SaltBuilding a platform with Django, Docker, and Salt
Building a platform with Django, Docker, and Salt
 
Crm cos è
Crm cos èCrm cos è
Crm cos è
 
dkr_django_slides
dkr_django_slidesdkr_django_slides
dkr_django_slides
 
Django and Docker
Django and DockerDjango and Docker
Django and Docker
 
Lider123
Lider123Lider123
Lider123
 
SQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni ÖzelliklerSQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni Özellikler
 
System Center 2012 - January Licensing Update
System Center 2012 - January Licensing UpdateSystem Center 2012 - January Licensing Update
System Center 2012 - January Licensing Update
 
Softchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 ChangesSoftchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 Changes
 
You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...
You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...
You voiced your concerns. VMware listened: Major Adjustments to vSphere 5 lic...
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
Nordic VMUG User Conference 2014 - Design VMware vCenter Server
Nordic VMUG User Conference 2014 - Design VMware vCenter ServerNordic VMUG User Conference 2014 - Design VMware vCenter Server
Nordic VMUG User Conference 2014 - Design VMware vCenter Server
 
Limewood Event - VMware
Limewood Event - VMware Limewood Event - VMware
Limewood Event - VMware
 
VMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOL
VMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOLVMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOL
VMUGIT Meeting Pisa 2015 - SDS secondo VMware: VSAN e VVOL
 
Findability Day 2015 Mattias Ellison - Findwise - Enterprise Search and fin...
Findability Day 2015   Mattias Ellison - Findwise - Enterprise Search and fin...Findability Day 2015   Mattias Ellison - Findwise - Enterprise Search and fin...
Findability Day 2015 Mattias Ellison - Findwise - Enterprise Search and fin...
 
Site Recovery Manager - Una visione architetturale
Site Recovery Manager - Una visione architetturaleSite Recovery Manager - Una visione architetturale
Site Recovery Manager - Una visione architetturale
 
SQL Server Performans İpuçları
SQL Server Performans İpuçlarıSQL Server Performans İpuçları
SQL Server Performans İpuçları
 
vCenter and ESXi network port communications
vCenter and ESXi network port communicationsvCenter and ESXi network port communications
vCenter and ESXi network port communications
 
Virtual Space Race: How IT with The Right Stuff Creates a Competitive Advantage
Virtual Space Race: How IT with The Right Stuff Creates a Competitive AdvantageVirtual Space Race: How IT with The Right Stuff Creates a Competitive Advantage
Virtual Space Race: How IT with The Right Stuff Creates a Competitive Advantage
 
VMworld 2014: Site Recovery Manager and vSphere Replication
VMworld 2014: Site Recovery Manager and vSphere ReplicationVMworld 2014: Site Recovery Manager and vSphere Replication
VMworld 2014: Site Recovery Manager and vSphere Replication
 
Working Hard or Hardly Networked?
Working Hard or Hardly Networked?Working Hard or Hardly Networked?
Working Hard or Hardly Networked?
 

Similar to Django and Docker: a marriage made in heaven

Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the Worlddamovsky
 
Docker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsRamit Surana
 
Exploring Docker in CI/CD
Exploring Docker in CI/CDExploring Docker in CI/CD
Exploring Docker in CI/CDHenry Huang
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
 
Lightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeLightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeDocker, Inc.
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerKuan Yen Heng
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
 
Docker Global Hack Day #3
Docker Global Hack Day #3 Docker Global Hack Day #3
Docker Global Hack Day #3 Docker, Inc.
 
Docker - 15 great Tutorials
Docker - 15 great TutorialsDocker - 15 great Tutorials
Docker - 15 great TutorialsJulien Barbier
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupKumar Ashwin
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupKumar Ashwin
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraDaniel Palstra
 
Intro docker and demo monitor on docker
Intro docker and demo monitor on dockerIntro docker and demo monitor on docker
Intro docker and demo monitor on dockerWatcharin Yang-Ngam
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cFrank Munz
 

Similar to Django and Docker: a marriage made in heaven (20)

Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
 
Docker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and tools
 
Exploring Docker in CI/CD
Exploring Docker in CI/CDExploring Docker in CI/CD
Exploring Docker in CI/CD
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Lightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in PracticeLightweight Virtualization Docker in Practice
Lightweight Virtualization Docker in Practice
 
Docker
DockerDocker
Docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Docker
DockerDocker
Docker
 
Docker Global Hack Day #3
Docker Global Hack Day #3 Docker Global Hack Day #3
Docker Global Hack Day #3
 
Docker - 15 great Tutorials
Docker - 15 great TutorialsDocker - 15 great Tutorials
Docker - 15 great Tutorials
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
Securing Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad MeetupSecuring Containers From Day One | null Ahmedabad Meetup
Securing Containers From Day One | null Ahmedabad Meetup
 
Cohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel PalstraCohesion Techsessie Docker - Daniel Palstra
Cohesion Techsessie Docker - Daniel Palstra
 
Intro docker and demo monitor on docker
Intro docker and demo monitor on dockerIntro docker and demo monitor on docker
Intro docker and demo monitor on docker
 
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12cDocker in the Oracle Universe / WebLogic 12c / OFM 12c
Docker in the Oracle Universe / WebLogic 12c / OFM 12c
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 

More from dotCloud

Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2dotCloud
 
Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14dotCloud
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14dotCloud
 
Building a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from YelpBuilding a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from YelpdotCloud
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé? dotCloud
 
OpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQdotCloud
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2dotCloud
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...dotCloud
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewiredotCloud
 
Dockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwilioDockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwiliodotCloud
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Dockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterdotCloud
 
Introduction to Docker - Docker workshop @Twitter
Introduction to Docker - Docker workshop @TwitterIntroduction to Docker - Docker workshop @Twitter
Introduction to Docker - Docker workshop @TwitterdotCloud
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registrydotCloud
 
Docker links | Docker workshop #2 at Twitter
Docker links | Docker workshop #2 at TwitterDocker links | Docker workshop #2 at Twitter
Docker links | Docker workshop #2 at TwitterdotCloud
 
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05dotCloud
 
[Open stack] heat + docker
[Open stack] heat + docker[Open stack] heat + docker
[Open stack] heat + dockerdotCloud
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPressdotCloud
 
Building images from dockerfiles
Building images from dockerfilesBuilding images from dockerfiles
Building images from dockerfilesdotCloud
 

More from dotCloud (20)

Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2
 
Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14
 
Building a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from YelpBuilding a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from Yelp
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
 
OpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQ
 
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Dockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwilioDockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at Twilio
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Dockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @Twitter
 
Introduction to Docker - Docker workshop @Twitter
Introduction to Docker - Docker workshop @TwitterIntroduction to Docker - Docker workshop @Twitter
Introduction to Docker - Docker workshop @Twitter
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
 
Docker links | Docker workshop #2 at Twitter
Docker links | Docker workshop #2 at TwitterDocker links | Docker workshop #2 at Twitter
Docker links | Docker workshop #2 at Twitter
 
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
 
[Open stack] heat + docker
[Open stack] heat + docker[Open stack] heat + docker
[Open stack] heat + docker
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPress
 
Building images from dockerfiles
Building images from dockerfilesBuilding images from dockerfiles
Building images from dockerfiles
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Django and Docker: a marriage made in heaven

  • 1. Django and Docker: a marriage made in heaven Ken Cochrane DjangoCon US 2013 1
  • 2. About me • Ken Cochrane (@KenCochrane) • Engineer at dotCloud (Corporate sponsor of Docker) • Work on Docker and Docker related projects (index, registry, docs, etc) • Django user since 0.96.1 2
  • 3. Outline • Intro to Docker • Common use cases • Demo • Questions 3
  • 5. Quick survey • How many people have heard of Docker before today? 4
  • 6. Quick survey • How many people have heard of Docker before today? • How many people have tried Docker? 4
  • 7. Quick survey • How many people have heard of Docker before today? • How many people have tried Docker? • How many people are using Docker on a project today? 4
  • 8. Where did Docker come from? • Docker is a rewrite of similar code that currently powers the dotCloud PaaS • Original version written in Python, new version written in Go. • Still a very young project, but mature for it’s age. 5
  • 9. Docker Timeline • January 2013 Docker started as internal project inside of dotCloud • March 21, 2013 Solomon gives Docker lighting talk at PyCon US • March 27, 2013 Docker released to Public • June 2013 Docker adds OpenStack compatibility • August 2013 Docker 0.6 released 6
  • 10. In the first 6 months • 5300+ GitHub stars • 125+ contributors • 50,000+ docker index pulls • 100’s of projects built on top of Docker • UI’s, mini-PaaS, remote desktop,etc • 1000’s of Dockerized applications 7
  • 11. What is Docker? • Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. 8
  • 12. How does Docker work? • LinuX Containers (LXC) • Control Groups & Namespaces • AUFS 9
  • 13. LinuX Containers (LXC) • lets you run a Linux system within another Linux system • A container is a group of processes on a Linux box, put together in an isolated environment • Inside the box, looks like a VM. • Outside of the box, it looks like normal processes. • chroot on steroids 10
  • 14. Why Containers? • Speed: Boots in seconds. • Footprint: 100-1000 containers on one machine. Small disk requirements 11
  • 16. Why are Containers lightweight? 13
  • 18. Docker Requirements • Linux Kernel 3.8 or above • AUFS • LXC • 64Bit 15
  • 19. Installations • Server or Desktop (Vagrant) • Docker APT repo (get.docker.io) • Source code compile • Binary download • http://docs.docker.io/en/latest/installation/ 16
  • 20. Vagrant install • git clone https://github.com/dotcloud/docker.git • vagrant up • vagrant ssh • sudo docker 17
  • 21. Binary install • wget http://get.docker.io/builds/Linux/x86_64/docker-latest.tgz • tar -xf docker-latest.tgz • sudo ./docker -d & • Still need to install system startup script 18
  • 22. Docker on Digital Ocean in 5 easy steps # Create Ubuntu 13.04 64 Bit Droplet, Then $ sudo apt-get update $ sudo apt-get install linux-image-extra-`uname -r` $ sudo sh -c "curl http://get.docker.io/gpg | apt-key add -" $ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/ sources.list.d/docker.list" $ sudo apt-get update && sudo apt-get install lxc-docker 19
  • 23. Docker on Digital Ocean in 1 step When creating the Droplet. Select the Docker image under the application 20
  • 24. Awesome Sauce • The Awesome folks at Digital Ocean has given everyone here a great deal. • No more excuses! Try Docker for Free on Digital Ocean • Go to http://tinyurl.com/docker10 and enter in the promo code DJANGOCON2013 when prompted for a $10 credit. SSD backed VPS servers as low as $5/month Do it now, before the deal expires. • http://tinyurl.com/docker10 21
  • 26. Docker Use Cases • Local Dev environment • Deployment • Unit testing • parallelize tests • one db per test • system tests 23
  • 28. Unit testing • Use containers to isolate tests into their own environment. • No more worrying about tests not cleaning up after themselves. • Parallelize the tests across multiple machines 25
  • 29. System Testing • Easily create all the different system configurations to test against • No need to worry about breaking or rebuilding a test server • Test Fabric scripts • http://agiliq.com/blog/2013/06/self-testing-fabfile-using-docker/ 26
  • 30. Continuous Integration • Run unit tests after each source commit • StriderCD.com - Open source CI server • Uses Docker Containers to run CI tests before deployment. • TravisCI is also playing with Docker 27
  • 32. Docker Deployment • dokku • Flynn.io • deis.io • chef, puppet, salt, ansible, etc 29
  • 33. Dokku • Open source PaaS • Docker powered mini-heroku • Less than 100 lines of Bash • Heroku buildpacks • Git push deployment • https://github.com/progrium/dokku 30
  • 34. Flynn.io • Open source PaaS written in Go • Uses Docker to manage containers • One of the founders is author of Dokku • Still in development 31
  • 35. deis.io • Open source written in Python • Git push deployments • Docker images, chef recipes or Heroku buildpacks • Supports scaling and application formation 32
  • 38. Salt stack • ipmb/salt-minion • kstaken/salt-test-runner 35
  • 41. Local Dev Setup • VM’s are heavy, containers not so much • Run 100’s of containers on laptop vs a handful of VMs • Easier to duplicate production environment if you have a complex setup. • http://blog.scoutapp.com/articles/2013/08/28/docker-git-for-deployment 38
  • 43. Cool projects • npmt.abru.pt: Node.js Module (NPM) testing • ptone/jiffylab: Zero configuration Python/Unix web based teaching environment • kitchen-Docker: Docker driver for Ruby’s test kitchen • MemcachedAsaService.com • Try RethinkDB, openstack-docker • Many many more. 40
  • 44. npmt.abru.pt • Autonomously Testing All NPM modules • One container per module is created then destroyed when test is finished. • 39496 modules verified 41
  • 45. kitchen-docker • A Ruby framework for running integration tests in an isolated environment • Uses Docker to run tests in containers • https://github.com/portertech/kitchen-docker 42
  • 46. JiffyLab • Created by Preston Holmes • Provides an entirely web based environment for instruction. • Python and UNIX shell env running in it’s own Docker container • https://github.com/ptone/jiffylab 43
  • 47. Memcached SaaS • Built as a class project • Memcached SaaS built on top of Docker • Built with Ruby on Rails • https://github.com/jbarbier/SaaS_Memcached/ 44
  • 48. Try RethinkDB • SaaS that let you try out RethinkDB • One DB per container • Containers killed within 24 hours • 1000’s of containers on one host 45
  • 49. openstack-docker • Deploy lightweight linux containers on Openstack • https://github.com/dotcloud/openstack- docker 46
  • 51. Docker terms • Container: Linux container • Image: a snapshot of a container that when run creates a new container. • Index: Public docker image directory • Dockerfile: An automated script used to create an Image • Push/pull : Commands used to get images to and from the index • Run: Start a Docker image to create a running Container 48
  • 52. Common commands • ps : lists the containers on the system • images : lists the images on the system • run : runs commands against an image to create a container • stop : stops a running command • build : builds a Dockerfile • inspect: shows you information about a container • pull: pulls down a new image from the docker index • logs: shows the logs for a given container 49
  • 55. Docker Run • Run command and exit • $ docker run ubuntu echo “hello world” • Start interactive shell in container • $ docker run -i -t ubuntu bash • Run command in background • $ docker run -d ubuntu /bin/sh -c “while true; do echo hello world; date; sleep 1; done” 52
  • 57. Dockerfiles • Simple scripting language • Automate the creation of docker images • Built in caching • Add them to any project repo to Dockerize the project. • Online tutorial • http://www.docker.io/learn/dockerfile/ 54
  • 58. Building Images by hand # start a ubuntu 12.10 container $ docker run -i -t ubuntu:12.10 bash # update the apt repo [a2bc13] $ apt-get update # install curl [a2bc13] $ apt-get install curl # exit out of container [a2bc13] $ exit # save changes to container as an image $ docker commit -m "comment" a2bc13 username/image 55
  • 59. Build image using Dockerfile # curl image # VERSION 0.1 FROM ubuntu:12.10 MAINTAINER yourName name@example.com RUN apt-get -qq update RUN apt-get install -y curl 56
  • 60. Docker build • docker build . • docker build - < Dockerfile • docker build github.com/creak/docker-firefox • use “-t” to tag built image • docker build -t myname/myimage . 57
  • 61. Redis Dockerfile example # Redis # VERSION 0.1 FROM johncosta/redis MAINTAINER yourName name@example.com EXPOSE 6379 RUN mkdir /redis ENTRYPOINT ["/usr/bin/redis-server"] CMD ["--dir", "/redis"] 58
  • 63. Docker index • Similar to PyPI but for Docker images • Public directory to store and download reusable docker images • Docker image meta data • Account required to publish images (free) • Written in Django • https://index.docker.io 60
  • 64. Docker registry • Open source Python Flask app • https://github.com/dotcloud/docker-registry • Manages the storage of the images • Install private registry for private images 61
  • 66. Docker API • REST based API used to control the Docker daemon • live events api feed • some websocket support • The Docker CLI uses the same API • Clients available for most languages 63
  • 67. Docker clients • python: docker-py • ruby: docker-ruby, docker-client, docker- api • javascript: docker-js, dockerui • Java: docker-java 64
  • 68. Docker-py import docker # create client docker_client = docker.Client(base_url='unix://var/run/docker.sock', version="1.4") # create container container = docker_client.create_container('ubuntu', None, detach=True) container_id = container.get('Id') # start Container docker_client.start(container_id) # get Ip address meta = docker_client.inspect_container(container_id) ip = meta.get('NetworkSettings').get("IPAddress") # stop container docker_client.stop(container_id) 65
  • 69. Docker UI’s • Shipyard: Django • https://github.com/ehazlett/shipyard • Docker-UI: Angular.js • https://github.com/crosbymichael/dockerui • Dockland: Ruby • https://github.com/dynport/dockland 66
  • 72. Docker 1.0 • Pluggable architecture • LXC, Solaris Zones, FreeBSD Zones, etc • AUFS, BTRFS, etc • Better OS support (RedHat, etc) 69
  • 74. Want to Learn more? • Website: http://www.docker.io • Documentation: http://docs.docker.io • Github: https://github.com/dotcloud/docker • IRC: freenode #docker • Twitter: follow @docker • Google group: groups.google.com/forum/#!forum/docker- user • Meetups: Boston, New York, London, Paris, San Francisco, and more coming soon. Go to website for details. 71
  • 75. Docker OpenSpace • Questions, installation help, etc • Today (Monday) @ 2-3pm • Grand suite 5 72
  • 76. Docker Swag • I have a limited amount of Docker swag to give away. • T-shirts • Stickers • Send me a tweet @KenCochrane if you want one. 73