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
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
240
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
220
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
590
Tebiki Engineering Team Deck
tebiki
0
24k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.4k
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
640
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
370
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
250
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Designing Experiences People Love
moore
144
24k
4 Signs Your Business is Dying
shpigford
187
22k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
90
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
The SEO Collaboration Effect
kristinabergwall1
0
350
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.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