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
170
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
120
Design a REST API you will love to work with
ujovlado
0
760
Docker for PHP developers - Tips, Tricks & Lessons learned
ujovlado
3
490
Docker ‐ from development to production in minutes (PoSobota #91)
ujovlado
0
380
Non-traditional use of Docker (Nette Camp #3)
ujovlado
0
140
Contributions [lightning talk] (PyconCZ 2015)
ujovlado
0
97
CSS Flexbox (WebElement #35)
ujovlado
0
170
Don't underestimate CSS (WebElement #30)
ujovlado
0
600
Database Migrations in PHP (Posobota #66)
ujovlado
0
130
Other Decks in Programming
See All in Programming
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
270
CSC509 Lecture 06
javiergs
PRO
0
260
CSC305 Lecture 06
javiergs
PRO
0
270
Cursorハンズオン実践!
eltociear
2
1.2k
Go言語はstack overflowの夢を見るか?
logica0419
0
510
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
400
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
390
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
450
AI Agent 時代的開發者生存指南
eddie
4
2k
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
520
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
220
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
120
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
How GitHub (no longer) Works
holman
315
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
What's in a price? How to price your products and services
michaelherold
246
12k
GraphQLとの向き合い方2022年版
quramy
49
14k
Speed Design
sergeychernyshev
32
1.2k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
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