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
660
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
360
Vers des applications twelve-factor
ubermuda
2
950
Git et la théorie des graph
ubermuda
3
930
Introduction à Docker
ubermuda
6
950
Meetup Docker 101
ubermuda
1
190
A multi-container Symfony2 setup with Docker
ubermuda
40
12k
Docker Introduction
ubermuda
5
420
Symfony 2, un framework robuste et moderne
ubermuda
5
170
Migration d'une base de code subversion vers git
ubermuda
0
82
Other Decks in Technology
See All in Technology
#Zenoh 完全に理解した 〜組込み純情篇〜
takasehideki
1
450
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
3
440
EitherT_with_Future
aoiroaoino
0
230
エンジニア採用を起点に取り組む組織の改善活動と課題、中長期のタスク管理/ #HRmethod
nishiuma
4
3.3k
New Relicで実践する外形監視
aeonpeople
1
110
エンジニア向け会社紹介資料
caddi_eng
15
250k
OCI コスト管理
ocise
1
110
技術ブログや登壇資料を秒で作るコツ伝授します
minorun365
PRO
15
4.3k
SHIFTの課題と目指したい組織像 / 20240827 Rinto Ikenoue
shift_evolve
0
140
エンジニアリングマネージャーが紐解く、事業視点から組織文化まで、包括的アプローチの探求 / READYFOR
9ma3r
13
2.2k
AWSを始めた頃に陥りがちなポイントをまとめてみた
oshanqq
0
1.1k
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
390
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
690
190k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
165
48k
Code Review Best Practice
trishagee
62
16k
Typedesign – Prime Four
hannesfritz
38
2.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Automating Front-end Workflow
addyosmani
1365
200k
Optimising Largest Contentful Paint
csswizardry
28
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
Ruby is Unlike a Banana
tanoku
96
10k
Music & Morning Musume
bryan
46
6k
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