Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Comment Docker révolutionne le web
Search
ubermuda
October 29, 2014
Technology
3
690
Comment Docker révolutionne le web
ubermuda
October 29, 2014
Tweet
Share
More Decks by ubermuda
See All by ubermuda
La théorie des graphes appliquée à Git
ubermuda
0
400
Vers des applications twelve-factor
ubermuda
2
1.1k
Git et la théorie des graph
ubermuda
3
1.1k
Introduction à Docker
ubermuda
6
1.1k
Meetup Docker 101
ubermuda
1
220
A multi-container Symfony2 setup with Docker
ubermuda
40
12k
Docker Introduction
ubermuda
5
490
Symfony 2, un framework robuste et moderne
ubermuda
5
200
Migration d'une base de code subversion vers git
ubermuda
0
110
Other Decks in Technology
See All in Technology
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
610
HIG学習用スライド
yuukiw00w
0
110
「え?!それ今ではHTMLだけでできるの!?」驚きの進化を遂げたモダンHTML
riyaamemiya
10
4.4k
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
330
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
Databricksによるエージェント構築
taka_aki
1
110
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
16
5.9k
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.2k
安いGPUレンタルサービスについて
aratako
0
1.2k
32のキーワードで学ぶ はじめての耐量子暗号(PQC) / Getting Started with Post-Quantum Cryptography in 32 keywords
quiver
0
190
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
0
120
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
120
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.9k
Six Lessons from altMBA
skipperchong
29
4.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
GraphQLとの向き合い方2022年版
quramy
49
14k
What's in a price? How to price your products and services
michaelherold
246
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Practical Orchestrator
shlominoach
190
11k
Transcript
Comment Docker révolutionne le web Geoffrey Bachelet – @ubermuda
Qu'est-ce que Docker À quoi ça sert Comment ça marche
Pourquoi on l'aime Limitations Cas d'utilisation
Docker is an open platform for developers and sysadmins to
build, ship, and run distributed applications. ” https://www.docker.com/whatisdocker/
http://www.slideshare.net/dotCloud
http://www.slideshare.net/dotCloud
http://www.slideshare.net/dotCloud
http://www.slideshare.net/dotCloud
http://www.slideshare.net/dotCloud
Un système de container pour livrer n'importe quel code, n'importe
où*. * Pour certaines definitions de n'importe où.
None
Machine Virtuelle https://www.docker.com/whatisdocker/
Container https://www.docker.com/whatisdocker/
Plus rapide Moins de mémoire Moins d'espace disque
Comme* des VM super légères. * Pour certaines definitions de
comme.
LXC is a userspace interface for the Linux kernel containment
features. ” https://linuxcontainers.org/
None
https://blog.docker.com/2014/06/keynote-videos-from-dockercon14/
libcontainer Remplacement de LXC Implémentation en Go Pas de dépendances
externes
libswarm Composition de services
None
$ docker Usage: docker [OPTIONS] COMMAND [arg...] -‐H=[unix:///var/run/docker.sock]:
tcp:// host:port to bind/connect to or unix://path/to/ socket to use A self-‐sufficient runtime for linux containers. Commands: ...
$ docker run busybox ls bin dev
etc home lib lib64 linuxrc ...
docker run busybox ls
docker run busybox ls
docker run busybox ls
docker run busybox ls
docker run busybox ls
Images ? Container ?
Image https://docs.docker.com/terms/image/
Container https://docs.docker.com/terms/image/
https://docs.docker.com/terms/image/
$ docker run -‐it debian:wheezy /bin/bash Unable to find
image 'debian:wheezy' locally Pulling repository debian 61f7f4f722fb: Download complete 511136ea3c5a: Download complete 638fd9704285: Download complete root@6c0009adf3c0:/#
$ docker run -‐it debian:wheezy /bin/bash Unable to find
image 'debian:wheezy' locally Pulling repository debian 61f7f4f722fb: Download complete 511136ea3c5a: Download complete 638fd9704285: Download complete root@6c0009adf3c0:/#
$ docker run -‐it debian:wheezy /bin/bash Unable to find
image 'debian:wheezy' locally Pulling repository debian 61f7f4f722fb: Download complete 511136ea3c5a: Download complete 638fd9704285: Download complete root@6c0009adf3c0:/#
$ docker run -‐it debian:wheezy /bin/bash Unable to find
image 'debian:wheezy' locally Pulling repository debian 61f7f4f722fb: Download complete 511136ea3c5a: Download complete 638fd9704285: Download complete root@6c0009adf3c0:/#
$ docker run -‐it debian:wheezy /bin/bash Unable to find
image 'debian:wheezy' locally Pulling repository debian 61f7f4f722fb: Download complete 511136ea3c5a: Download complete 638fd9704285: Download complete root@6c0009adf3c0:/#
Docker Hub
$ docker run -‐it debian:wheezy /bin/bash ... root@6c0009adf3c0:/#
apt-‐get install -‐y nginx root@6c0009adf3c0:/# exit $ docker commit 6c0009adf3c0 nginx $ docker run -‐it nginx /bin/bash
$ docker run -‐it debian:wheezy /bin/bash ... root@6c0009adf3c0:/#
apt-‐get install -‐y nginx root@6c0009adf3c0:/# exit $ docker commit 6c0009adf3c0 nginx $ docker run -‐it nginx /bin/bash
$ docker run -‐it debian:wheezy /bin/bash ... root@6c0009adf3c0:/#
apt-‐get install -‐y nginx root@6c0009adf3c0:/# exit $ docker commit 6c0009adf3c0 nginx $ docker run -‐it nginx /bin/bash
$ docker run -‐it debian:wheezy /bin/bash ... root@6c0009adf3c0:/#
apt-‐get install -‐y nginx root@6c0009adf3c0:/# exit $ docker commit 6c0009adf3c0 nginx $ docker run -‐it nginx /bin/bash
$ docker run -‐it debian:wheezy /bin/bash ... root@6c0009adf3c0:/#
apt-‐get install -‐y nginx root@6c0009adf3c0:/# exit $ docker commit 6c0009adf3c0 nginx $ docker run -‐it nginx /bin/bash
Dockerfile
FROM debian:wheezy ENV DEBIAN_FRONTEND noninteractive RUN apt-‐get update
-‐y RUN apt-‐get install -‐y nginx CMD ["/usr/bin/nginx", "-‐g", "'daemon off;'"]
Public Registry Private Registry Dockerfile Networking Volumes Remote API Docker
CLI FIG Ambassador boot2docker
None
Déployer n'importe quoi
Déployer n'importe où* * Pour certaines definitions de n'importe où.
Déployer facilement
Déployer de manière sûre
C'est pas fini !
Ambassador
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador Reconfiguration automatique
App Ambassador Ambassador Facebook Twitter Health check, Cache, etc.
Scale up. And Down.
Reverse Proxy App App Ambassador MySQL
Reverse Proxy App App App Ambassador MySQL
Fault tolerance.
Reverse Proxy App App App Ambassador MySQL
Reverse Proxy App App App Ambassador MySQL
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador
App Ambassador MySQL Redis MySQL Ambassador Ambassador Ambassador
ChaosMonkey https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey
12factor.net
Damien Mathieu @dmathieu 12 factor app, bonnes pratiques pour développer
des applications puissantes et scalables Demain, 10h30 http://www.blendwebmix.com/schedule/12-factor-app-bonnes-pratiques-pour-developper-des-applications-puissantes-et-scalables/
Moi-même @ubermuda Vers des applications twelve-factor https://speakerdeck.com/ubermuda/vers-des-applications-twelve-factor
Dev/prod parity.
Continuous integration.
...
None
Certaines définitions de n'importe où.
Pas natif en dehors de Linux. Boot2docker
Linux 3.8+ (ou moins)
Noyau partagé. Sécurité.
Outillage peu matûre. Orchestration, monitoring, ...
Projet interne à dotCloud mars 2013 libcontainer DockerCon + 1.0
Docker 1.3 OpenSource 13 mars 2013 9-10 juin 16 octobre
16105 stars 649 contributeurs +
RedHat 10 juin Rachat de Orchard 40M$ Series C Microsoft
Google 23 juillet 16 septembre 15 octobre 19 sept. 2013
Continuous Integration Platform as a Service Distributed Applications Composition Continuous
Integration Platform as a Service Easy Application Deployment
Merci ! speackerdeck.com/ubermuda/comment-docker-revolutionne-le-web geoffrey.io / @ubermuda geoffrey.io/books/discovering-docker.html