docker ! de la découverte à la mise en production / digital apéro [19/03/2015]

31

Upload: silicon-comte

Post on 05-Aug-2015

146 views

Category:

Technology


4 download

TRANSCRIPT

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

Association née en février 2014 avec pour objectif de fédérer, animer et favoriser la filière numérique

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

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…)

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

CoFondateur et Directeur Technique de WiziShop.com

René Cotton mail : [email protected]

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

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

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

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

C'est quoi ?

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

Le tableau infernal du deploiement

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

Le tableau infernal du transport

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

La solution pour le transport

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

Le tableau devient limpide !

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

La solution pour le deploiement

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

Le tableau devient limpide !

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

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 »

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

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é

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

Comment ca marche ?

Un daemon : Docker

Des images (créé en layers, portable)

Des conteneurs

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

T'es gentil mais je travaille sur MacOS / Windows !

Vraiment ???

Boot2docker

30 Mo

Docker prêt à l'utilisation (Virtual Box)

Partage facile des fichiers

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

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

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

Je peux me debarrasser des VMs ?

Non!Pas encore…

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

Demo !

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

Docker Hub registry.hub.docker.com

Public registry : Gratuit

Private registry : Payant

Build automatique (depuis github/bitbucket)

Official registry : ubuntu, mysql, redis, wordpress, etc…

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

Demo !

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

Docker Registry

Il existe une image pour ca ;)

docker run registry

Registry complétement privé

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

La communauté Docker

+ de 700 contributeurs

60 000 repositories sur Docker Hub

2 Millions de téléchargement de boot2docker

20 coeur contributeurs

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

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

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

Dockerfile

docker build

FROM, MAINTAINER, RUN, CMD, EXPOSE, ENV, ADD, COPY,ENTRYPOINT, VOLUME, USER, WORKDIR

Créer votre images à partir d'un fichier

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

Dockerfile

FROM ubuntu:14.04

MAINTAINER René Cotton "[email protected]"

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;"]

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

Demo !

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

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

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

Retour d'éxpérience

Haproxy

AppContainer

AppContainer

81 82

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

Demo !

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

Merci