Association née en février 2014 avec
pour objectif de fédérer, animer et
favoriser la filière numérique
Filière numérique : Créer des liens entre professionnels par
des rencontres en ligne et hors ligne (events thématiques)
Grand public : Créer les conditions d’une « culture numérique »
(service DPN, blog FrancheComTech…)
Pros/Entreprises : Susciter l’appétence pour les usages et
services numériques, puis en favoriser l’adoption (ateliers en
CCI…)
CoFondateur et Directeur Technique de WiziShop.com
René Cotton
mail : rene@wizishop.com
twitter : @_Re_
3800 boutiques ouvertes
90 M€ de de transactions
11 années dans la création
web dont 8 années
exclusivement dans le
ecommerce
WiziShop c'est (liste non exhaustive)
Hébergement cloud dédié : VMware, Debian
Web serveur, proxy : HaProxy, Apache, Nginx
Cache : Varnish, Memcached, Redis
SGBD : MariaDB, Elasticsearch, MongoDB
Versioning : Git, GitLab, GitHub
PHP : Symfony - Javascript : YUI, jQuery, AngularJS
Monitoring : StatsD/Graphite, Sentry, Logstash, Munin
C'est quoi ?
Le tableau infernal du
deploiement
Le tableau infernal du transport
La solution pour le transport
Le tableau devient limpide !
La solution pour le deploiement
Le tableau devient limpide !
Définition
« Docker est un outil qui peut
empaqueter une application et ses
dépendances dans un conteneur
virtuel, qui pourra être exécuté sur
n'importe quel serveur Linux »
Les limites
Seulement sur Linux (pour aujourd'hui)
Kernel 3.8+ (>= 3.10 recommandé)
AUFS (de base sur debian/ubuntu
Cgroups activé
Linux namespaces activé
Comment ca marche ?
Un daemon : Docker
Des images (créé en layers, portable)
Des conteneurs
T'es gentil mais je travaille sur
MacOS / Windows !
Vraiment ???
Boot2docker
30 Mo
Docker prêt à l'utilisation (Virtual Box)
Partage facile des fichiers
Comparaison
App
Bin / Lib
OS invité
Hyperviseur
OS hôte
Serveur physique
Bin / Lib
OS invité
App
Bin / Lib
OS invité
App
App
Bin / Lib
OS hôte
Serveur physique
Bin / Lib Bin / Lib
AppApp
Virtualisation Containers
Je peux me debarrasser des VMs ?
Non!Pas encore…
Demo !
Docker Hub registry.hub.docker.com
Public registry : Gratuit
Private registry : Payant
Build automatique (depuis github/bitbucket)
Official registry : ubuntu, mysql, redis, wordpress, etc…
Demo !
Docker Registry
Il existe une image pour ca ;)
docker run registry
Registry complétement privé
La communauté Docker
+ de 700 contributeurs
60 000 repositories sur Docker Hub
2 Millions de téléchargement de boot2docker
20 coeur contributeurs
Port / Volume / Link
Forcer un port vers un autre : -p 80:80
Exposer les ports prévu : -P
Monter un volume : -v dossier/local:dossier/conteneur
Lier deux contenaire : -link db:mysql
Dockerfile
docker build
FROM, MAINTAINER, RUN, CMD, EXPOSE, ENV, ADD, COPY,
ENTRYPOINT, VOLUME, USER, WORKDIR
Créer votre images à partir d'un fichier
Dockerfile
FROM ubuntu:14.04
MAINTAINER René Cotton "rene@wizishop.com"
RUN apt-get update
RUN apt-get install -y nginx
RUN echo 'Je suis un container' > /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Demo !
Docker Compose
Creation et lancement de plusieurs contenaires
docker-compose up
web:
build: .
links:
- db
ports:
- "80:80"
db:
image: mysql
Se base sur docker-compose.yml
Retour d'éxpérience
Haproxy
App
Container
App
Container
81 82
Demo !
Merci

Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]

  • 2.
    Association née enfévrier 2014 avec pour objectif de fédérer, animer et favoriser la filière numérique
  • 3.
    Filière numérique :Créer des liens entre professionnels par des rencontres en ligne et hors ligne (events thématiques) Grand public : Créer les conditions d’une « culture numérique » (service DPN, blog FrancheComTech…) Pros/Entreprises : Susciter l’appétence pour les usages et services numériques, puis en favoriser l’adoption (ateliers en CCI…)
  • 4.
    CoFondateur et DirecteurTechnique de WiziShop.com René Cotton mail : [email protected] twitter : @_Re_ 3800 boutiques ouvertes 90 M€ de de transactions 11 années dans la création web dont 8 années exclusivement dans le ecommerce
  • 5.
    WiziShop c'est (listenon exhaustive) Hébergement cloud dédié : VMware, Debian Web serveur, proxy : HaProxy, Apache, Nginx Cache : Varnish, Memcached, Redis SGBD : MariaDB, Elasticsearch, MongoDB Versioning : Git, GitLab, GitHub PHP : Symfony - Javascript : YUI, jQuery, AngularJS Monitoring : StatsD/Graphite, Sentry, Logstash, Munin
  • 6.
  • 7.
    Le tableau infernaldu deploiement
  • 8.
    Le tableau infernaldu transport
  • 9.
    La solution pourle transport
  • 10.
  • 11.
    La solution pourle deploiement
  • 12.
  • 13.
    Définition « Docker estun outil qui peut empaqueter une application et ses dépendances dans un conteneur virtuel, qui pourra être exécuté sur n'importe quel serveur Linux »
  • 14.
    Les limites Seulement surLinux (pour aujourd'hui) Kernel 3.8+ (>= 3.10 recommandé) AUFS (de base sur debian/ubuntu Cgroups activé Linux namespaces activé
  • 15.
    Comment ca marche? Un daemon : Docker Des images (créé en layers, portable) Des conteneurs
  • 16.
    T'es gentil maisje travaille sur MacOS / Windows ! Vraiment ??? Boot2docker 30 Mo Docker prêt à l'utilisation (Virtual Box) Partage facile des fichiers
  • 17.
    Comparaison App Bin / Lib OSinvité Hyperviseur OS hôte Serveur physique Bin / Lib OS invité App Bin / Lib OS invité App App Bin / Lib OS hôte Serveur physique Bin / Lib Bin / Lib AppApp Virtualisation Containers
  • 18.
    Je peux medebarrasser des VMs ? Non!Pas encore…
  • 19.
  • 20.
    Docker Hub registry.hub.docker.com Publicregistry : Gratuit Private registry : Payant Build automatique (depuis github/bitbucket) Official registry : ubuntu, mysql, redis, wordpress, etc…
  • 21.
  • 22.
    Docker Registry Il existeune image pour ca ;) docker run registry Registry complétement privé
  • 23.
    La communauté Docker +de 700 contributeurs 60 000 repositories sur Docker Hub 2 Millions de téléchargement de boot2docker 20 coeur contributeurs
  • 24.
    Port / Volume/ Link Forcer un port vers un autre : -p 80:80 Exposer les ports prévu : -P Monter un volume : -v dossier/local:dossier/conteneur Lier deux contenaire : -link db:mysql
  • 25.
    Dockerfile docker build FROM, MAINTAINER,RUN, CMD, EXPOSE, ENV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR Créer votre images à partir d'un fichier
  • 26.
    Dockerfile FROM ubuntu:14.04 MAINTAINER RenéCotton "[email protected]" RUN apt-get update RUN apt-get install -y nginx RUN echo 'Je suis un container' > /usr/share/nginx/html/index.html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
  • 27.
  • 28.
    Docker Compose Creation etlancement de plusieurs contenaires docker-compose up web: build: . links: - db ports: - "80:80" db: image: mysql Se base sur docker-compose.yml
  • 29.
  • 30.
  • 31.