Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker; The Shipping - Andreas Tiefenthaler
Search
Kod.io Linz
March 01, 2014
Programming
160
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
140
Objective-C for Rubyists - Mikael Konutgan
kodio_linz
0
180
How to become a better developer - Markus Prinz
kodio_linz
1
130
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
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
240
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
150
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
数百円から始めるRuby電子工作
tarosay
0
110
FDEが実現するAI駆動経営の現在地
gonta
2
220
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
360
初めてのKubernetes 本番運用でハマった話
oku053
0
130
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
680
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
200
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
730
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
920
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
220
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
350
Building an army of robots
kneath
306
46k
Skip the Path - Find Your Career Trail
mkilby
1
170
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
740
Speed Design
sergeychernyshev
33
1.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.1k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
290
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Agile that works and the tools we love
rasmusluckow
331
22k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
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