Post on 05-Aug-2015
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 ouvertes90 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 updateRUN 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:
- dbports:
- "80:80"db:
image: mysql
Se base sur docker-compose.yml
Retour d'éxpérience
Haproxy
AppContainer
AppContainer
81 82
Demo !
Merci