Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Docker; The Shipping - Andreas Tiefenthaler
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kod.io Linz
March 01, 2014
Programming
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker; The Shipping - Andreas Tiefenthaler
Kod.io Linz
March 01, 2014
More Decks by Kod.io Linz
See All by Kod.io Linz
Kod.io Linz closing notes - Floor Drees
kodio_linz
0
200
Make yours and other people's life easier! Do support! - Mike Adolphs
kodio_linz
0
150
Objective-C for Rubyists - Mikael Konutgan
kodio_linz
0
180
How to become a better developer - Markus Prinz
kodio_linz
1
140
10 things I didn’t know about HTML, CSS, and JavaScript - Mathias Bynens
kodio_linz
5
360
The Ultimate Python Database Toolkit: SQLAlchemy - Muhammet Sena Aydın
kodio_linz
1
320
How to Get More Women in Tech in 5 Steps - Anika Lindtner
kodio_linz
0
710
RubyMotion’s Secret Sauce - Joshua Ballenco
kodio_linz
0
320
Fly, you tools - Piotr Szotkowski
kodio_linz
1
290
Other Decks in Programming
See All in Programming
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
280
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
130
Java 27新機能 / Java 27 new features
kishida
2
180
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.8k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
350
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
450
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
150
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
580
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
4
300
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
250
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
540
Between Models and Reality
mayunak
4
470
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
Agile that works and the tools we love
rasmusluckow
331
22k
ラッコキーワード サービス紹介資料
rakko
1
5.1M
Producing Creativity
orderedlist
PRO
348
41k
We Are The Robots
honzajavorek
0
380
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
Google's AI Overviews - The New Search
badams
0
1.6k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
530
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
730
Transcript
intentionally left about: blank
Andreas Tiefenthaler Twitter/GitHub: @pxlpnk contentful.com
the shipping
What is this about? • Docker in theory • technology
• tiny live demo • that to use it for • that to not use it for • some code • bigger live demo
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. written in go-lang
Main Features
Can encapsulate any payload and its dependencies
Lightweight, virtually no performance or start-up penalty, quick to move
and manipulate
Separation of duties code vs infrastructure
Resource, network, and content isolation. Avoids dependency hell
Containers vs VMs
Container? • Uses Linux Containers - LXC • cgroups •
Linux Kernel itself
Basic Functions • build • modify • publish • search
• run containers
First demo: docker run ubuntu /bin/echo hello world!
Use cases
Automating the packaging and deployment of applications Creation of lightweight,
private PAAS environments Automated testing and continuous integration/deployment Deploying and scaling web apps, databases and backend services
Who uses docker?
https://flynn.io/
Some Code
Dockerfiles
FROM ubuntu:12.10! RUN apt-get -y install htop! ENTRYPOINT ["/bin/bash"]! !
$docker build -t container .
The APP Demo
The APP • Sinatra Webservice Container • Sidekiq Worker Container
• Redis Container
Webapp require_relative 'config.rb'! require_relative 'worker'! ! require 'sinatra'! ! set
:environment, :production unless ENV['development']! ! get '/:task/:cost' do |task, cost|! Worker.perform_async(task, cost)! end!
Worker require_relative 'config.rb'! require 'sidekiq'! ! class Worker! include Sidekiq::Worker!
! def perform(task = 'HardTask', cost = 2)! puts "Working on #{task} for: #{cost}"! sleep cost.to_i! end! end!
Config DB_URL = ENV['DB_PORT_6379_TCP_ADDR']! DB_PORT = 6379! DB_NO = 0!
DB_NAMESPACE='catcher'! ! Sidekiq.configure_client do |config|! config.redis = { namespace: DB_NAMESPACE, size: 1,! url: "redis://#{DB_URL}:#{DB_PORT}/#{DB_NO}" }! end! ! Sidekiq.configure_server do |config|! config.redis = { namespace: DB_NAMESPACE, ! url: "redis://#{DB_URL}:#{DB_PORT}/#{DB_NO}" }! end!
DEMO
Cons • Not production ready • Rapidly changing • Should
not run Database within it • Does not give you Security Superpowers (http://blog.docker.io/2013/08/containers-docker-how-secure-are-they/)
v.0.8 • BTRFS support • OS X support • one
release per month • new builder features (Dockerfiles) • general faster faster
None
None
@langziehohr
Danke, thank you, dankjewel Questions? Source: https://github.com/pxlpnk/docker Docker: https://www.docker.io/ Diagrams
taken from docker.io Slides: http://an-ti.eu/talks.html kod-io-2014 10% off contentful.com