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
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
370
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
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
33
14k
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
220
AHC070解法紹介
eijirou
0
150
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
300
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
470
JRuby: Past, Present, and Future
headius
0
220
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
App Intentsのビルドプロセスを支える技術
kntkymt
0
500
Agents on Rails - Rails at Scale 2026
irinanazarova
0
310
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
41k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Agile that works and the tools we love
rasmusluckow
331
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Designing for humans not robots
tammielis
254
26k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
350
Odyssey Design
rkendrick25
PRO
2
850
Embracing the Ebb and Flow
colly
88
5.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
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