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
Comment Docker révolutionne le web
Search
ubermuda
October 29, 2014
Technology
3
700
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
410
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
510
Symfony 2, un framework robuste et moderne
ubermuda
5
200
Migration d'une base de code subversion vers git
ubermuda
0
120
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
配列に見る bash と zsh の違い
kazzpapa3
1
140
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.4k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
130
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
240
Context Engineeringの取り組み
nutslove
0
330
Digitization部 紹介資料
sansan33
PRO
1
6.8k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Agile that works and the tools we love
rasmusluckow
331
21k
Statistics for Hackers
jakevdp
799
230k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Navigating Weather and Climate Data
rabernat
0
100
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Believing is Seeing
oripsolob
1
54
Done Done
chrislema
186
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Scaling GitHub
holman
464
140k
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