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
Simplify your dev life with Docker (WebElement ...
Search
Vladimír Kriška
August 20, 2015
Programming
0
120
Simplify your dev life with Docker (WebElement Banská Bystrica)
Vladimír Kriška
August 20, 2015
Tweet
Share
More Decks by Vladimír Kriška
See All by Vladimír Kriška
Twelve-Factor app with Docker
ujovlado
0
65
Design a REST API you will love to work with
ujovlado
0
700
Docker for PHP developers - Tips, Tricks & Lessons learned
ujovlado
3
430
Docker ‐ from development to production in minutes (PoSobota #91)
ujovlado
0
330
Non-traditional use of Docker (Nette Camp #3)
ujovlado
0
87
Contributions [lightning talk] (PyconCZ 2015)
ujovlado
0
51
CSS Flexbox (WebElement #35)
ujovlado
0
110
Don't underestimate CSS (WebElement #30)
ujovlado
0
540
Database Migrations in PHP (Posobota #66)
ujovlado
0
94
Other Decks in Programming
See All in Programming
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
390
Jakarta EE meets AI
ivargrimstad
0
310
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
660
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
330
fs2-io を試してたらバグを見つけて直した話
chencmd
0
250
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1k
Beyond ORM
77web
9
1.4k
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
110
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.1k
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
110
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
550
為你自己學 Python
eddie
0
180
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Gamification - CAS2011
davidbonilla
80
5.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Mobile First: as difficult as doing things right
swwweet
222
9k
A better future with KSS
kneath
238
17k
Into the Great Unknown - MozCon
thekraken
34
1.5k
Building Your Own Lightsaber
phodgson
103
6.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Transcript
Simplify your dev life with Docker Vladimír Kriška (@ujovlado) WebElement
Banská Bystrica
Past (vedle pasti) • New computer • Install Apache|Nginx, MySQL|PostgreSQL,
PHP, MongoDB, etc., etc. • Start services … start coding After few weeks • OMG this project needs newer version of MySQL • Problems • And problems
Future • New computer • Prepare Dockerfile with exact requirements
• Build it • Run it (with services inside) … start coding After few weeks • OMG this project needs … whatever • Never mind, I'll build a new container • Profit
Yo Dawg, I heard you like computers So I put
computer into computer, So you can computer while you computer
What is Docker? "Docker is an open platform for building,
shipping and running distributed applications."
What is Docker for me? Primary • Engine for working
with containers • Any virtual machine • Testing platform • Tool to not install "shit" to your computer Not yet • Running in production
What really Docker is? Same as your system • Set
of files with "/sbin/init" file So, you can • Take parts of your system and virtualize them without need to virtualize full OS
Containers without Docker (!) https://chimeracoder.github.io/docker-without-docker mkdir debian-tree debootstrap --arch=amd64 unstable
debian-tree systemd-nspawn -D debian-tree/ /bin/bash machinectl list machinectl poweroff debian-tree
OK, let's go Three basic steps 1) Create Dockerfile 2)
Build it 3) Run it
Dockerfile & Build & Run FROM debian:jessie RUN apt-get update
&& apt-get upgrade -y RUN apt-get install nginx -y RUN mkdir -p /data COPY package.tar.gz /data/ EXPOSE 80 docker build -t wblmnt/bb . docker run -i -t --rm -p 8037:80 wblmnt/bb:latest
Case I & Case II Everything in one container •
Easy to start • Same as any virtual machine / container • Need to commit changes at the end (as many times as containers count)
Case III Multiple containers with separate store • For production
environment • Hard to setup • Deployment?
Examples
Thanks