SlideShare une entreprise Scribd logo
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Présentation de la formation
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Le formateur
 Objectifs de cette formation
 Ressources de formation
 Prérequis
 Agenda
Formation Docker Copyright © AVAEDOS. All rights reserved
 Consultant / Formateur depuis 2001:
▪ Infrastructure (Microsoft, Docker)
▪ Développement (Web, .NET)
▪ Cloud (IaaS, Paas)
 Rédacteur d’articles techniques
▪ SMART DSI, Avaedos, …
▪ Livres sur IIS, Exchange 2016 et Docker surWindows
 Certifications:
▪ Microsoft : MVP, NT4 àWindows 10 etWindows Server 2012
▪ Cisco : CCNA,CCAI
▪ SUN : SCSA, SCNA.
 Contact:
▪ lthobois@live.com
Formation Docker Copyright © AVAEDOS. All rights reserved
 Avoir une vision générale de la
technologie Docker
▪ Découvrir les concepts de Docker
▪ Présenter les services proposés autour
de Docker
▪ Comprendre l’intégration de Docker
avec son écosystème
 Avoir les connaissances techniques
pour monter une infrastructure
Formation Docker Copyright © AVAEDOS. All rights reserved
 Infrastructure de formation
▪ VirtualBox
▪ Hyper-V
▪ Windows Azure
▪ …
 Supports de formation
▪ Supports de présentation
▪ Ateliers pratiques
▪ Outils
▪ …
Formation Docker Copyright © AVAEDOS. All rights reserved
 Connaissances de base des technologies réseau, notamment DNS et
les technologies de pare-feu
 Expérience d'utilisation :
▪ d’un environnement de virtualisation
▪ du système d'exploitation Windows Server / Linux
▪ des outils de gestion et d'analyse
▪ des outils de mise en réseau et de dépannage
Formation Docker Copyright © AVAEDOS. All rights reserved
1. Présentation de Docker
2. Initiation aux conteneurs
3. Construction des images avec Dockerfile
4. Administration de la registry
5. Déploiement à l’aide de Docker compose
6. Exploitation des conteneurs
7. Déploiement des hôtes à l’aide de Docker
Machine
8. Implémentation d’un cluster Swarm
9. Déploiement d’une stack de service
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Présentation de Docker
L’environnement de Docker
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 La virtualisation
 Organisation du système
d’information
Formation Docker Copyright © AVAEDOS. All rights reserved
 Pourquoi la virtualisation ?
 Concrètement
 Avantages de la virtualisation
 Les technologies de virtualisation
 Exemple: le poste de travail
Formation Docker Copyright © AVAEDOS. All rights reserved
 L’origine du succès de l’informatique
▪ Participation offerte à tous
 Problèmes
▪ de compatibilité
▪ d’interopérabilité
▪ de stabilité
 Solutions
▪ Segmentation
Formation Docker Copyright © AVAEDOS. All rights reserved
 On manipule maintenant des conteneurs virtuels
 Exemples:
▪ Je veux supprimer un programme qui ne répond plus ? Je supprime le processus
(donc la mémoire et l'espace de swap du disque) liée à l'application.
▪ Je veux déplacer mon système d'exploitation car mon serveur ne démarre plus
? Je déplace la machine virtuelle (donc le disque virtuel et sa configuration) sur
un autre serveur.
Formation Docker Copyright © AVAEDOS. All rights reserved
 La virtualisation apporte deux avantages:
 Diminution duTCO
▪ Charges administratives réduites
▪ Meilleurs exploitation des ressources
▪ Moins de maintenance
 Souplesse accrues
▪ Facilité d’administration des ressources
▪ Indépendance des ressources face à l’infrastructure
Formation Docker Copyright © AVAEDOS. All rights reserved
Virtualisation
du poste de travail
Virtualisation
des applications
Virtualisation
de la présentation
Virtualisation
des serveurs
Virtualisation
de l’environnement
Virtualisation
des infrastructures
Formation Docker Copyright © AVAEDOS. All rights reserved
Matériel
OS
Données et
paramètres
Applications
Profiles
Application
Poste de travail
Système d’exploitation
Virtualisation
locale au poste
Virtualisation
distante
Focus: DiminutionTCO
Focus: Flexibilité accrue
Présentation
Poste de travail traditionnel
Présentation
Virtualisation
locale au poste
Virtualisation
distante
Formation Docker Copyright © AVAEDOS. All rights reserved
 Web Service
 SOA (Architecture orientée services)
 Architectures
▪ Sans urbanisation
▪ Avec urbanisation
 Micro-services
 Le mouvement DevOps
Formation Docker Copyright © AVAEDOS. All rights reserved
 Communication s’appuyant sur les
technologies web
 Web Service SOAP
▪ Historique
▪ Implémentation lourde via contrat
▪ Format XML
 Web Service REST
▪ Client Mobile
▪ FormatJSON
 <menu id="file" value="File">
▪ <popup>
▪ <menuitem value="New" onclick="CreateNewDoc()"
/>
▪ <menuitem value="Open" onclick="OpenDoc()" />
▪ <menuitem value="Close" onclick="CloseDoc()" />
▪ </popup>
 </menu>
 { "menu":
▪ { "id": "file", "value": "File", "popup":
▪ { "menuitem": [
▪ { "value": "New", "onclick": "CreateNewDoc()" },
▪ { "value": "Open", "onclick": "OpenDoc()" },
▪ { "value": "Close", "onclick": "CloseDoc()" }
▪ ] }
▪ }
 }
Formation Docker Copyright © AVAEDOS. All rights reserved
 Ensemble de services simples
▪ Ne pas construire l'entreprise
autour d'applications
▪ Découpage par service autonome
 Caractéristiques
▪ S’appui sur lesWeb services
▪ Objectif de blocs interchangeables
▪ Difficulté d’implémentation
▪ Frontière technique
▪ Frontière fonctionnel de responsabilité
Formation Docker Copyright © AVAEDOS. All rights reserved
 Sans urbanisation
▪ Chaque application a son propre système de compte
▪ Donc un nouveau compte doit être créé sur chaque application
▪ Chaque modification doit être synchronisé sur chacune des applications
 Avec urbanisation
▪ Un service est dédié à la gestion des comptes
▪ Chaque application vient demander les informations de compte à ce service
▪ Seul ce service doit être mis à jour à la modification d’un utilisateur
Formation Docker Copyright © AVAEDOS. All rights reserved
 Isolation au niveau de la fonctionnalité
▪ On décompose les services en plusieurs composants indépendants et faiblement
couplés
▪ Souvent spécialisés dans une seule tâche
 Les composants (microservices) sont reliés par des API REST
 Lors d’une mise à jour, seul le microservice lié est impacté
 Coût de mise en place important
▪ Modèle DDD - Domain Driven Design
Formation Docker Copyright © AVAEDOS. All rights reserved
 Permet de réunifier les développeurs avec les exploitants applicatifs et systèmes
▪ L'objectif du développeur est d'ajouter des fonctionnalités
▪ L'objectif de l'exploitant est de garantir la disponibilité du service
▪ Conflits d'intérêts entre les deux
 Le mouvement DevOps est né de la volonté de globaliser les méthodes agiles à l'ensemble des services.
 Pour atteindre ces objectifs, il est recommandé :
▪ De déployer régulièrement des applications
▪ De tester au plus tôt dans le processus de développement les régression et autres erreurs (intégration
continue, test unitaire, ...)
▪ De réaliser les tests au plus proche de la production
▪ Un cycle d'amélioration court favorisant les échanges avec les utilisateurs.
▪ Une supervision de l'exploitation et de la qualité de production représentée par des métriques et indicateurs
"clé".
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Présentation de Docker
Les fondamentaux de Docker
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Qu’est ce qu’un conteneur ?
 Un peu d’histoire sur les conteneurs
 Machines virtuelles versus
conteneurs
 Docker
 Les commandes docker
 Editions de Docker
 Implémentation sous Linux et
Windows
Formation Docker Copyright © AVAEDOS. All rights reserved
 Virtualisation du système
d’exploitation
 Perception d’environnement isolé et
indépendant
 Package déclaratif
 Unité de déploiement « universelle »
 Idéal pour le développement et les
tests
Formation Docker Copyright © AVAEDOS. All rights reserved
 Conteneur = unité de transport
intermodal
 Virtualisation de processus
▪ UNIX chroot(1979-1982)
▪ BSDJail(1998)
▪ ParallelsVirtuozzo(2001)
▪ Solaris Containers (2005)
▪ Linux LXC (2008)
▪ Docker (2013)
Formation Docker Copyright © AVAEDOS. All rights reserved
 Machines virtuelles
▪ Isolation
▪ OS/Composants dupliqués
 Conteneurs
▪ Isolation
▪ OS/Composants unifiés
Formation Docker Copyright © AVAEDOS. All rights reserved
 Créé en 2013
 Solution pour manipuler des
conteneurs
 Modèle avec architecture de type
client / serveur
▪ Client Docker
▪ Moteur Docker
▪ Communication client / serveur avec
des appels en REST
Formation Docker Copyright © AVAEDOS. All rights reserved
 Composé d’une quarantaine de commandes
▪ Décrire l’image d’une application à déployer dans un conteneur
▪ Publier l’image dans un repository (public ou privé)
▪ Interroger un repository
▪ Gérer les versions des images dans un repository(appelé Registry)
▪ Déployer des images…
Formation Docker Copyright © AVAEDOS. All rights reserved
 Client Docker (ligne de commande)
▪ disponible sur Mac OS X, Linux etWindows
▪ docker run  pour instancier un nouveau conteneur
▪ docker ps  Liste les conteneurs en cours d’exécution
▪ docker pull  pour télécharger une image
 Moteur Docker (Docker Host)
▪ Disponible uniquement sur Linux etWindows (10 et Server 2016)
▪ La machine peut être une machine virtuelle sur Azure, Hyper-V,VMWare, …
Formation Docker Copyright © AVAEDOS. All rights reserved
 Docker Enterprise Edition
▪ Basique: la plate-forme Docker pour une infrastructure certifiée, avec le support de
Docker Inc. et des conteneurs et plugins certifiés de Docker Store
▪ Standard: ajoute une gestion avancée de l'image et du conteneur, l'intégration des
utilisateurs LDAP / AD et le contrôle d'accès basé sur les rôles (Docker Datacenter)
▪ Avancé: ajoute Docker Security Scanning et surveillance continue de la vulnérabilité
 DockerCommunity Edition
▪ Edge est destiné aux utilisateurs souhaitant tester les fonctionnalités les plus
récentes et les plus importantes chaque mois
▪ Stable est publié trimestriellement et s'adresse aux utilisateurs qui veulent un rythme
de déploiement plus facile à maintenir
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
 Virtualisation et isolation
▪ Docker intègre la bibliothéque libcontainer qui exploite et
combine les capacités de virtualisation du noyau Linux
(namespaces, cgroups, capabilities, …)
 libcontainer
▪ Format par défaut des conteneurs.
▪ Docker supporter aussi les conteneurs LXC
▪ Extension possible dans le futur (BSD Jails,Solaris
Zones, ...)
 namespaces
▪ Fournit le mecanisme d'isolation des conteneurs.
▪ Docker créé un ensemble de namespaces pour le
conteneur
 cgroups (ou Control Groups)
▪ Groupe les process et offre une administration commune
▪ Partage les ressources matériels
Formation Docker Copyright © AVAEDOS. All rights reserved
 ConteneursWindows
▪ Windows Server 2016
▪ S’appui sur les ressources du système
 Conteneurs Hyper-V
▪ Windows 10 etWindows Server 2016
▪ S’appui sur des images Hyper-V
▪ Nano server
▪ Core server
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Présentation de Docker
Les fondamentaux de Docker
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Image Docker
 Kernel, images et conteneurs
Formation Docker Copyright © AVAEDOS. All rights reserved
 Une image est constituée d'une série
de couches appelées « layers »
 Chaque image s’appuie sur une
image de base (ex: Ubuntu) puis
intègre des composants plus avancé
comme Nginx
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Présentation de Docker
Ecosystème étendue
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Ecosystème Docker
 Docker & Cloud
 Docker dans le marketplace d’Azure
 Docker etVisual Studio
 Et tous les autres …
Formation Docker Copyright © AVAEDOS. All rights reserved
 Docker Engine
 Docker Client
 Dockerfile
 Docker Registry (Trusted & Hub)
 Docker Compose
 Docker Machine
 Docker Swarm
 Docker Stack
Formation Docker Copyright © AVAEDOS. All rights reserved
 Partenariat fort !
▪ Images Docker
▪ Extensions Docker
▪ Azure Containers Services
▪ Amazon EC2 Container Service
Formation Docker Copyright © AVAEDOS. All rights reserved
 DockerTrusted Registry
▪ Docker, Inc.
▪ https://hub-beta.docker.com/enterprise/
 Docker
▪ Extension Microsoft
 Docker on Ubuntu Server
▪ Canonical + Microsoft
Formation Docker Copyright © AVAEDOS. All rights reserved
 Module dédié aux développeurs
 Intégration à Azure
 http://myview.rahulnivi.net/.Net,AS
P.Net,C,EntityFramework,MVC/doc
ker/
Formation Docker Copyright © AVAEDOS. All rights reserved
 Kubernetes
▪ Mise en cluster
 Dokku
▪ Facilite les déploiements
 Jenkins
▪ Serveur d‘intégration continu
 DCOS
▪ Editeur Mesosphere
▪ Exécution, gestion et répartition de
charges des containers avec Chronos
 Marathon
▪ Init : Démarre les taches et vérifie la
disponibilités
▪ Framework pour le cluster Apache
Mesos
 Chronos
▪ Cron distribué
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Construction des images à l’aide de Dockerfile
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Présentation de Dockerfile
 Création d’images par Dockerfile
 FROM
 RUN
 ENV
 VOLUME
 COPY
 ENTRYPOINT
 CMD
 EXPOSE
Formation Docker Copyright © AVAEDOS. All rights reserved
 L’ensemble des commandes pour
construire une image, le tout
rassemblé et stocké dans un fichier
 Permet de créer un conteneur de
manière mieux contrôlé « qu’à la
main »
Formation Docker Copyright © AVAEDOS. All rights reserved
 FROM
▪ image de base (Ubuntu, Debian)
 LABEL
▪ Metadonnées de l’image
 VOLUME
▪ point de montage
 RUN
▪ commande à exécuter pour installer le
conteneur
 ENTRYPOINT
▪ commande qui s’exécute au démarrage
du conteneur (une seule sera exécutée) ;
 CMD
▪ commande qui s’exécute au démarrage
du conteneur ;
 ADD
▪ copier un fichier du répertoire courant
dans le système de fichiers du
conteneur ;
 USER
▪ utilisateur qui exécute les commandes
dans le conteneur ;
 EXPOSE
▪ port(s) à exposer à l’extérieur.
Formation Docker Copyright © AVAEDOS. All rights reserved
 Dockerfile commence toujours par la commande FROM
 Permet de définir une image de base sur laquelle sera construite la
nouvelle image
▪ Si l’image n’est pas présente, elle sera téléchargée
 FROM debian:wheezy
 FROM scratch
▪ image est construite sans partir d’une image existante
Formation Docker Copyright © AVAEDOS. All rights reserved
 Permet de lancer n’importe quel processus qui participe à l’élaboration
de l’image en cours de compilation
 RUN ["exécutable", "paramètre 1", ..., "paramètre N"]
▪ RUN ["exécutable", "paramètre 1", ..., "paramètre N"]
▪ RUN ["echo", "message"]
Formation Docker Copyright © AVAEDOS. All rights reserved
 Détermine les variables d’environnement
▪ pour l’opération de compilation du Dockerfile (RUN)
▪ dans les conteneurs qui seront lancés
 L’option --env de la commande docker run permet de passer des
variables d’environnement au moment du lancement du conteneur.
Formation Docker Copyright © AVAEDOS. All rights reserved
 Identifie les parties de l’arborescence devant être sauvegardé d’une session
à l’autre d’un conteneur
 VOLUME /var/lib/mongodb
 VOLUME /var/log/mongod
 Mappé dans un volume virtuel
▪ Au choix de l’administrateur si mappé
▪ Dans un emplacement configuré par défaut
 Suppression des volumes
▪ docker rm -vf monconteneur
Formation Docker Copyright © AVAEDOS. All rights reserved
 Récupère les fichiers locaux sur laquelle la commande docker build est
lancée
 En pratique, les fichiers qui se trouvent au même emplacement que le
fichier Dockerfile sont copiés dans le contexte, et donc chargés par la
commande build
 Il est essentiel de ne pas placer son fichier Dockerfile dans un répertoire
avec des fichiers qui ne seront pas utiles à la construction de l’image
▪ Complexe sur les images qui sont construites à partir d’un dépôt GitHub
 Un fichier nommé .dockerignore permet de déclarer les fichiers et
répertoires à ignorer au chargement de contexte (symboles * et ? autorisés
Formation Docker Copyright © AVAEDOS. All rights reserved
 Commande qui va être exécutée lors du démarrage d’un conteneur,
c’est-à-dire le processus primaire qui sera porté par ce dernier.
 ENTRYPOINT ["/entrypoint.sh"]
▪ ENTRYPOINT suivi d’un tableauJSON, le premier paramètre contient la
commande à exécuter, et les suivants les paramètres de cette commande.
 ENTRYPOINT "/entrypoint.sh"
▪ ENTRYPOINT suivi d’une chaine, un shell est démarré et le contenu de cette
chaîne lui est passé pour interprétation
Formation Docker Copyright © AVAEDOS. All rights reserved
 Passe au processus spécifié par ENTRYPOINT les paramètres par
défaut, en l’absence de paramètres explicitement spécifiés en fin de
commande docker run.
 CMD ["mongod"]
Formation Docker Copyright © AVAEDOS. All rights reserved
 EXPOSE 27017
 Expose un port réseau à l’extérieur
 Il n’est pas obligatoire de mettre en correspondance le port exposé
avec un port de la machine hôte
 docker run permet de le faire avec l’option -p
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Administration de la registry
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Docker Hub
 Docker store
 Registry privée
Formation Docker Copyright © AVAEDOS. All rights reserved
 Registry publique
▪ http://hub.docker.com/
 Système de stockage pour les images
de conteneurs
▪ évaluation / classement
▪ «automatedbuilds» pour créer
automatiquement des images Docker à
chaque commit d’un dépôt
 Envoi des packages
▪ sudo docker push <compte>/<tag image>
Formation Docker Copyright © AVAEDOS. All rights reserved
 Registry certifiée
▪ https://store.docker.com/
 Contenu
▪ Clients CE
▪ Clients EE
▪ Images
▪ Plugins
 Conteneurs payant
▪ Licence
Formation Docker Copyright © AVAEDOS. All rights reserved
 Déploiement via conteneur
▪ docker run -d --name registre -p 88:5000 registry
 Ajoutez d’un tag d’envoi vers le nouveau registre
▪ docker tag lthobois/myapp localhost:88/myapp
 Envoi vers le nouveau registre
▪ docker push localhost:88/myapp
 Téléchargement
▪ docker run -d --name conteneur localhost:88/myapp
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Déploiement à l’aide de Docker compose
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Présentation
 Installation
 Description du fichierYAML
 Utilisation
 Autres commandes utiles
Formation Docker Copyright © AVAEDOS. All rights reserved
 Un seul binaire pour démarrer et administrer de multiples conteneurs
et volumes sur un seul hôte docker
 Spécification et configuration dans un fichier
▪ docker-compose.yml
 Déplace les longues commandes docker run vers le fichier YAML
▪ docker-compose up
Formation Docker Copyright © AVAEDOS. All rights reserved
 https://docs.docker.com/compose/install/
▪ Windows, MacOS X, Linux
 Via pip, apt-get
 Ou récupérer le binaire
▪ sudo curl -L
https://github.com/docker/compose/releases/download/1.19.0/docker-
compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
▪ sudo chmod +x /usr/local/bin/docker-compose
Formation Docker Copyright © AVAEDOS. All rights reserved
 https://docs.docker.com/compose/c
ompose-file/
 Version 1
▪ Mono serveur
▪ Prochainement déprécié
 Version 2
▪ Mono serveur
▪ Configuration réseau et stockage
 Version 3
▪ Cluster Swarm
 wordpress:
 image: wordpress
 links:
 - mysql
 ports:
 - "80:80"
 environment:
 -WORDPRESS_DB_NAME=wordpress
 -WORDPRESS_DB_USER=wordpress
 -WORDPRESS_DB_PASSWORD=wordpresspwd
 mysql:
 image: mysql
 volumes:
 - /home/docker/mysql:/var/lib/mysql
 environment:
 - MYSQL_ROOT_PASSWORD=wordpressdocker
 - MYSQL_DATABASE=wordpress
 - MYSQL_USER=wordpress
 - MYSQL_PASSWORD=wordpresspwd
Formation Docker Copyright © AVAEDOS. All rights reserved
 docker-compose up
▪ Build des images à partir des Dockerfile
▪ Télécharges les images à partir de la registry (hub, …)
▪ Créé et démarre les conteneurs
▪ Stream les logs
Formation Docker Copyright © AVAEDOS. All rights reserved
 docker-compose run -d
▪ Exécute le projet
 docker-compose ps
▪ Liste les conteneurs du projet
 docker-compose stop
▪ Arrête les conteneurs du projet
 docker-compose down –volumes
▪ Supprimes les conteneurs du projet
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Exploitation : Infrastructure réseau
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Mode de fonctionnement standard (bridge)
 Configuration réseau du conteneur
 Modes de fonctionnement alternatifs
 Considérations
Formation Docker Copyright © AVAEDOS. All rights reserved
 Chaque conteneur possède sa propre interface réseau
 Par défaut, Docker fonctionne en mode bridge
▪ Le moteur Docker créé une couche de virtualisation entre l’interface réseau de
la machine hôte et celle créée pour les conteneurs.
▪ Sur l’hôte une interface réseau dédiée docker0 (Souvent 172.17.0.1/16).
▪ Dans le conteneur, une interface réseau spécifique (Souvent 172.17.0.2/16).
Formation Docker Copyright © AVAEDOS. All rights reserved
 Ajout d’un hôte dns
▪ docker run --add-host avaedos:8.8.8.8 debian
▪ Uniquement pour les serveurs externes
 Spécifie un serveur dns
▪ --dns
 Change le nom de machine du conteneur
▪ --hostname
Formation Docker Copyright © AVAEDOS. All rights reserved
 Réseau isolé
▪ docker run --net none debian ping www.avaedos.com
 Réseau lié à la carte locale de l’hôte
▪ sudo docker run -d --name iplocal --net host nginx
 Mode join
▪ sudo docker run --rm --name join2 --net container:join1 ubuntu:trusty netstat -al
 Lien dynamique entre deux conteneurs
▪ sudo docker run --rm -it --link link1:serveurweb ubuntu:trusty
Formation Docker Copyright © AVAEDOS. All rights reserved
 Documentation
▪ https://docs.docker.com/engine/reference/run/
▪ https://docs.docker.com/engine/userguide/networking/
 Limites de la couche réseau existante
▪ Impossible, en utilisant Docker seul, de réaliser un lien entre deux conteneurs
portés par deux démons Docker fonctionnant sur deux machines séparées.
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Exploitation : Infrastructure de stockage
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Le problème de la persistance
 Gestion du stockage
 Plugins de volume
 Volumes orphelins
 Principe de la copie sur écriture (CoW)
 Intégration à Docker de la copie sur écriture
 Les pilotes de stockage Docker
 Quel est le meilleur pilote de stockage ?
Formation Docker Copyright © AVAEDOS. All rights reserved
 Le conteneur est l'état d'exécution d'une image ... et gère les données
 2Types de données:
▪ Ephémère: ne vive que lorsque le conteneur est en vie {storagedrivers}
▪ Persistent: pas lié au cycle de vie du conteneur et doit être sauvegardé {plugins
de volume}
 Identification des données persistantes
▪ Le mot-cléVOLUME du Dockerfile
▪ Le commutateur -v de la commande docker run
Formation Docker Copyright © AVAEDOS. All rights reserved
 docker run -v
▪ Redirection paramétrable
 docker volume ls
▪ Liste des volumes persistants
 docker inspect <id conteneur>
▪ Affiche les volumes redirigés et leurs destinations
 docker cp
▪ Permet de copier des fichiers à partir/vers un conteneur
 docker run --volumes-from <cont>[:ro]
▪ Partage de volumes entre deux conteneurs
▪ Recommandé en lecture seule
Formation Docker Copyright © AVAEDOS. All rights reserved
 https://docs.docker.com/engine/extend/legacy_plugins/
▪ Azure File Storage plugin
▪ BeeGFSVolume plugin
▪ Blockbridge plugin
▪ ContivVolume plugin
▪ Convoy plugin
▪ DigitalOcean Block Storage plugin
▪ DRBD plugin
▪ Flocker plugin
▪ …
 Infinit
▪ Rachat par Docker en décembre 2016
▪ https://infinit.sh/
Formation Docker Copyright © AVAEDOS. All rights reserved
 Suppression des volumes avec le conteneur
▪ docker rm –v <id conteneur>
 Liste des volumes orphelins
▪ docker volume ls -qf dangling=true
 Nettoyage des volumes orphelins
▪ docker volume prune
Formation Docker Copyright © AVAEDOS. All rights reserved
 Si de multiples appelants demandent des ressources initialement
impossibles à distinguer, vous pouvez leur donner des pointeurs vers la
même ressource.
 Cette fiction peut être maintenue jusqu'à ce qu'un appelant modifie sa
« copie » de la ressource.
 À ce moment-là, une copie privée est créée. Cela évite que le
changement soit visible ailleurs. Ceci se produit de manière
transparente pour les autres appelants.
 L'avantage principal est que si un appelant ne fait jamais de
modifications, la copie privée n'est jamais créée.
Formation Docker Copyright © AVAEDOS. All rights reserved
 Sans copie sur écriture
▪ Il faudrait une éternité pour lancer un conteneur
▪ Les conteneurs utiliseraient beaucoup d'espace
 Sans copie sur écriture "sur votre bureau" ...
▪ Docker ne serait pas utilisable sur votre machine
▪ Il n'y aurait pas Docker
▪ ☹
Formation Docker Copyright © AVAEDOS. All rights reserved
 Optimisation sur la copie sur écriture
 2 niveaux de gestion des données:
▪ Niveau fichier: La modification d'un fichier
entraîne la manipulation de tout le fichier
▪ Lenteur à l’écriture
▪ Niveau bloc: La modification d’un fichier
entraîne la modification du bloc contenant
cet octet
▪ Rapidité d’écrite
▪ Lenteur liée à la fragmentation
▪ Considéré comme plus rapide
 https://docs.docker.com/engine/user
guide/storagedriver/
 Driver Date Noyau
 Unionfs 2003 NO
 AUFS 2006 NO
 Overlay 2014 3.18
 DeviceMapper 2005 2.6.9
 Btrfs 2007 2.6.29
 ZFS 2013 NO
Formation Docker Copyright © AVAEDOS. All rights reserved
 AUFS:
▪ Rapide (monture ou E / S) {cache de page}.
▪ Absent du noyau principal
▪ La recopie et CoW peut être très coûteux
 Overlay FS:
▪ Accès au cache en un coup
▪ Mais pas la copie
▪ Forte consommation d'inode
▪ Vérifier le disponibilité sur les distributions
▪ Pas totalement compatible POSIX ... de
nos jours, qui s'en soucie?
 Device Mapper:
▪ Les snapshots sont des périphériques réels.
▪ La performance pourrait être un problème ... mais il
existe un conteneur partagé et un conteneur en lecture
seule.
 Btrfs:
▪ Pas de cache de page.
▪ Gestion des fragments {soit petites écritures,
fragmentation, rebalanace}.
▪ Les écritures pourraient être coûteuses.
▪ Dans certaines distros encore dans l'aperçu technique.
 ZFS:
▪ Nécessite plus de mémoire
▪ Un pilote robuste avec une longue histoire en mode
production
▪ Riche de fonctionnalités "stables"
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Exploitation : Bonnes pratiques et supervision
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Configuration du daemon docker
 Démarrage automatique
 Gestion des logs
 Restriction sur les ressources
 Sécurité
 Supervision à l’aide de Rancher
Formation Docker Copyright © AVAEDOS. All rights reserved
 Configuration au lancement
▪ $ dockerd -D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H
tcp://192.168.59.3:2376
 Fichier daemon.json
▪ {
▪ "debug": true,
▪ "tls": true,
▪ "tlscert": "/var/docker/server.pem",
▪ "tlskey": "/var/docker/serverkey.pem",
▪ "hosts": "tcp://192.168.59.3:2376"
▪ }
 Options avancées
▪ https://docs.docker.com/engine/admin/
Formation Docker Copyright © AVAEDOS. All rights reserved
 Paramètre --restart (docker run --restart <param>)
▪ no: Ne redémarre pas le conteneur.Valeur par défaut.
▪ on-failure[:max-retries] : Redémarre uniquement si le conteneur est sorti avec
un état de sortie non nul.
▪ always:Toujours redémarrer le conteneur indépendamment de l'état de sortie.
Tentera de redémarrer le conteneur indéfiniment.
▪ unless-stopped: À moins d'arrêterToujours redémarrer le conteneur, sauf si le
conteneur a été arrêté avant.
Formation Docker Copyright © AVAEDOS. All rights reserved
 Application standard via console
▪ docker logs
▪ Redirection des répertoires correspondants
 Bonnes pratiques
▪ Répertoires par défaut /log dans la configuration applicative (Dockerfile)
Formation Docker Copyright © AVAEDOS. All rights reserved
 Documentation
▪ https://docs.docker.com/engine/reference/run/
 Limiter l’usage mémoire et processeur d’un conteneur
▪ docker run -it --memory 256m --cpushares 256 ubuntu
 --cpushares
▪ Limite sur les tranches de processeur de manière relative.
▪ Tant que le conteneur est seul il utilise 100 % du CPU
 --memory
▪ La mémoire est limitée en taille absolue
Formation Docker Copyright © AVAEDOS. All rights reserved
 l’option --user sur la commande docker run permet de limiter les
privilèges dans le conteneur
Formation Docker Copyright © AVAEDOS. All rights reserved
 Plusieurs outils sur le marché
▪ https://portainer.io/
▪ https://rancher.com/
▪ Applications Chrome store
▪ …
 Fonctionnalité diverses
▪ Supervision / Administration
▪ Registry interne
▪ Gestion des orchestrateurs
▪ …
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Déploiement à l’aide de Docker machine
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Présentation
 Provisioning
 Exemples d’implémentation
 Installation
 Exemples d’utilisation
 Déploiement de Docker Swarm
Formation Docker Copyright © AVAEDOS. All rights reserved
 Déploiement et administration des hôtes de conteneur
▪ Provisions de machines virtuelles
▪ Démarrage, Arrêt, Suppression de machines virtuelles
▪ Installation / Configuration du moteur Docker
▪ Administration basic de l’hôte
▪ Provision de nœud Swarm
 Installation et configuration de docker sur plusieurs systèmes
▪ Une quinzaine de pilotes disponibles
▪ VirtualBox,VMware, Hyper-V
▪ Azure, AWS, DigitalOcean, GCE, etc
Formation Docker Copyright © AVAEDOS. All rights reserved
 Vérification / Installation de l’hyperviseur
▪ Hyper-V,VirtualBox, Azure, …
 Téléchargement du système d’exploitation hôte
▪ Boot2Docker, RancherOS, Ubuntu, Debian, …
 Déploiement de la machine virtuelle
▪ Configuration mémoire, CPU, …
 Création et déploiement d’un jeu de clé SSH
▪ Magasin local et de l’hôte déployé
 Installation du moteur Docker
▪ Choix de la version
 Intégration à un cluster SWARM
▪ Optionnel
Formation Docker Copyright © AVAEDOS. All rights reserved
 Développement local et test
▪ Remplace Boot2Docker
 Test de cluster Swarm
▪ Provision rapide de clusters locaux
 Test des versions du moteur docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 https://docs.docker.com/machine/install-machine/
▪ Windows, Linux, MacOS X
 Téléchargement du binaire
▪ $ curl -L
https://github.com/docker/machine/releases/download/v0.13.0/docker-
machine-`uname -s`-`uname -m` >/tmp/docker-machine &&  sudo install
/tmp/docker-machine /usr/local/bin/docker-machine
 Autorisation de l’execution du binaire
▪ $ chmod +x docker-machine
Formation Docker Copyright © AVAEDOS. All rights reserved
 docker-machine create -d azure –azure-subscription-id=“<sub-id>” –azure-
subscription-cert=“<cert.pem>” node1
▪ Déploiement d’une machine dans le cloud
 docker-machine ls
▪ Liste des machines attachés à docker-machine
 docker-machine ssh node1
▪ Connexion à une machine en SSH
 docker-machine env mycontainer
▪ Liste des variables d’environnement d’un conteneur
Formation Docker Copyright © AVAEDOS. All rights reserved
 Création d’un token pour la découverte
 Déployer les nœuds avec les paramètres swarm
▪ --swarm, --swarm-master, --swarm-discovery, …
 docker swarm init
▪ 9fb09d6631e61568502b0e710169a7d3
 docker-machine create -d azure --swarm --swarm-discovery token://
9fb09d6631e61568502b0e710169a7d3 node1
 docker-machine create -d virtualbox --swarm --swarm-master --swarm-
discovery token:// 9fb09d6631e61568502b0e710169a7d3 node2
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Docker Swarm
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Orchestrateur : Qu’est-ce que c’est ?
 Swarm mode
 De nos jours … à Swarm
 Caractéristiques de Swarm
 Administration du cluster
 Mise en place du cluster
 Administration des services
 Défaillance d’un nœud
 Quorum MNS
 Réseau overlay
Formation Docker Copyright © AVAEDOS. All rights reserved
 Gère un pool de ressources
 Il connaît la topologie du cluster
▪ Ressources disponibles
▪ Applications déployées
 Il connait l’état de santé …
▪ …des services
▪ …de la plateforme
 C’est une évolution des outils
▪ Manuel (Scripts)  Automatisé (Conformité)  Délégué (Orchestration)
Formation Docker Copyright © AVAEDOS. All rights reserved
 Introduit avec la v1.12
▪ Remplace Docker Swarm
 Client Docker
▪ Proxy des requêtes vers docker engine
▪ Pas de GUI par défaut (portainer, rancher,
…)
▪ Implémentation facile
 Vocabulaire:
▪ Node: Docker engine membre du cluster
swarm de type Manager ouWorker
▪ Service: Ensemble de tâches
▪ Tâches: Un conteneur et sa commande
 Docker Swarm mode
▪ 3000 commits
▪ 71 contributeurs
 Développé en Go
 Géré par Docker Inc
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
 Docker REST API (>85%)
 Gestion des ressources (CPU, Mémoire, Réseau, Stockage)
 Planification avec contraintes et affinités
 Stack de service pour les architectures applicatives avancées
 TLS: Chiffrement & Authentification
Formation Docker Copyright © AVAEDOS. All rights reserved
 docker swarm
▪ Gestion du cluster
▪ init Initialize a swarm
▪ join Join a swarm as a node and/or manager
▪ join-token Manage join tokens
▪ leave Leave the swarm
▪ unlock Unlock swarm
▪ unlock-key Manage the unlock key
▪ update Update the swarm
 docker node
▪ Gestion des nœuds du cluster
▪ demote Demote one or more nodes from manager in the
swarm
▪ inspect Display detailed information on one or more nodes
▪ ls List nodes in the swarm
▪ promote Promote one or more nodes to manager in the swarm
▪ ps List tasks running on one or more nodes, defaults to
current node
▪ rm Remove one or more nodes from the swarm
▪ update Update a node
 docker service
▪ Gestion des conteneurs dans Swarm (services)
▪ create Create a new service
▪ inspect Display detailed information on one or more services
▪ logs Fetch the logs of a service or task
▪ ls List services
▪ ps List the tasks of one or more services
▪ rm Remove one or more services
▪ scale Scale one or multiple replicated services
▪ update Update a service
Formation Docker Copyright © AVAEDOS. All rights reserved
 Création du cluster:
▪ docker swarm init
 Ajouter un nœud au cluster:
▪ docker swarm join –token <token> <ip leader>:2377
 Promouvoir un nœud en tant que manager
▪ docker node promote noeud1
Formation Docker Copyright © AVAEDOS. All rights reserved
 Mémoire
▪ docker service create --limit-memory 1g …
 CPU
▪ docker service create --limit-cpu 1 …
 Ports
▪ docker service create -p 80:80 …
 Documentation
▪ https://docs.docker.com/engine/reference/commandline/service_create/
Formation Docker Copyright © AVAEDOS. All rights reserved
 Contraintes du docker info
▪ docker service create --constraint “constraint:operatingsystem==*deb*” …
▪ docker service create --constraint “constraint:storagedriver==*aufs*” …
 Contraintes du label
▪ docker service create -d --label “region==us-east”
▪ docker service create --constraint “constraint:region==us-east” …
 Contrainte de l’hote
▪ docker service create --constraint “constraint:node==ubuntu-2” …
Formation Docker Copyright © AVAEDOS. All rights reserved
 Affinités sur les conteneurs
▪ docker run --name web nginx
▪ docker service create -e “affinity:container==web” logger
 Anti-affinités sur les conteneurs
▪ docker service create --name redis-master redis
▪ docker service create --name redis-slave -e “affinity:container!=redis*” …
 Affinités sur les images
▪ docker service create -e “affinity:image==redis” redis
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Formation Docker Copyright © AVAEDOS. All rights reserved
Swarm Size Majority FaultTolerance
1 1 0
2 2 0
3 2 1
4 3 1
5 3 2
6 4 2
7 4 3
8 5 3
9 5 4
 Pour éviter le split brain
▪ Majorité absolue de manager disponible
 Sauvegarde du manager
▪ /var/lib/docker/swarm
▪ Clé du cluster
 Documentation
▪ https://docs.docker.com/engine/swarm/
admin_guide/
Formation Docker Copyright © AVAEDOS. All rights reserved
 Spécifique au cluster Swarm
▪ Réseau inter-hôtes
 Création
▪ docker network create  --driver overlay  --subnet 10.0.9.0/24  my-multi-host-
network
 https://docs.docker.com/engine/userguide/networking/get-started-
overlay/
Formation Docker Copyright © AVAEDOS. All rights reserved
 Load balancer intégré sur les ports publiés
▪ Indépendance à la publication
▪ Dépendance aux défaillances matériels
 Mise à jour de publication possible
▪ docker service update 
--publish-add <PUBLISHED-PORT>:<TARGET-PORT> 
<SERVICE>
Formation Docker Copyright © AVAEDOS. All rights reserved
 Utilisation d’un reverse proxy pour la protection de l’infrastructure
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Déploiement d’une Stack de service
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
 Docker Stack
 Administration
 Bientôt les bundles…
Formation Docker Copyright © AVAEDOS. All rights reserved
 Nouvelle méthode de déploiement des applications multi-conteneur
dans un cluster Swarm
 Utilise un fichier docker-compose v3
▪ Instructions pour swarm
▪ https://docs.docker.com/docker-cloud/apps/stack-yaml-reference/
 Déploiement via docker stack
▪ docker stack deploy --compose-file docker-compose.yml mystack
Formation Docker Copyright © AVAEDOS. All rights reserved
 docker stack
▪ Gestion des piles de service
▪ deploy Deploy a new stack or update an existing stack
▪ ls List stacks
▪ ps List the tasks in the stack
▪ rm Remove one or more stacks
▪ services List the services in the stack
140
Formation Docker Copyright © AVAEDOS. All rights reserved
 Evolution de stack
▪ Expérimentale actuellement
 Format d’image multi-services
▪ Facilite le packaging
 Créer à partir de docker-compose
▪ docker-compose bundle
141
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module
Formation Docker Copyright © AVAEDOS. All rights reserved
Présentée par:
LoïcTHOBOIS
Directeur technique
Fondateur de AVAEDOS
Conclusion
Docker
Formation Docker Copyright © AVAEDOS. All rights reserved
1. Ecosystème Docker
2. La pile de technologie
1. Docker Machine
2. Conteneurs
3. Dockerfile
4. Docker compose
5. Swarm
6. Stack de service
3. Exploitation
1. Stockage
2. Réseau
Formation Docker Copyright © AVAEDOS. All rights reserved
Vous avez suivi avec succès le module

Contenu connexe

Tendances

Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Jérôme Petazzoni
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
Colin LEVERGER
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
Emmanuel Quentin
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Cédric Leblond
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
SmartnSkilled
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
JEAN-GUILLAUME DUJARDIN
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
Zenika
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
Zenika
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
Olivier Eeckhoutte
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
Membré Guillaume
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Silicon Comté
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
ALTER WAY
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Silicon Comté
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
Romain Chalumeau
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
Christophe Furmaniak
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Alexis Ducastel
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Fabien Arcellier
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deployments
Oxalide
 

Tendances (20)

Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deployments
 

Similaire à Support formation : Construire et administrer vos conteneurs avec Docker

GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
AZUG FR
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
AZUG FR
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
AnisSalhi3
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKAmico Fabien
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
GhofraneFerchichi2
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
SUSE
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
qsdqsd4
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Hamida Rebai Trabelsi
 
Kalistick MixIT dev@cloud
Kalistick MixIT dev@cloudKalistick MixIT dev@cloud
Kalistick MixIT dev@cloud
kalistick
 
Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
Stephane Woillez
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
sdenier
 
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTourDéployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Pierre Fay
 
La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...
Laurent Goujon
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
Michel-Marie Maudet
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide
 
docker.pptx
docker.pptxdocker.pptx
docker.pptx
kohay75604
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 

Similaire à Support formation : Construire et administrer vos conteneurs avec Docker (20)

GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiK
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
 
Kalistick MixIT dev@cloud
Kalistick MixIT dev@cloudKalistick MixIT dev@cloud
Kalistick MixIT dev@cloud
 
Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTourDéployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
 
La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...La valeur de Docker pour les équipes de développement et accélérateur dans le...
La valeur de Docker pour les équipes de développement et accélérateur dans le...
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
docker.pptx
docker.pptxdocker.pptx
docker.pptx
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 

Plus de SmartnSkilled

Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?
SmartnSkilled
 
Support cours : Les Data Sciences avec Python Langage - Partie II
Support cours : Les Data Sciences avec Python Langage - Partie IISupport cours : Les Data Sciences avec Python Langage - Partie II
Support cours : Les Data Sciences avec Python Langage - Partie II
SmartnSkilled
 
Support tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERPSupport tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERP
SmartnSkilled
 
Support formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exerciceSupport formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exercice
SmartnSkilled
 
Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?
SmartnSkilled
 
Support formation : Maîtriser les Data Sciences avec Python Language - Partie I
Support formation : Maîtriser les Data Sciences avec Python Language - Partie ISupport formation : Maîtriser les Data Sciences avec Python Language - Partie I
Support formation : Maîtriser les Data Sciences avec Python Language - Partie I
SmartnSkilled
 
Support cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnelsSupport cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnels
SmartnSkilled
 
Support cours : Les phares du marketing
Support cours : Les phares du marketingSupport cours : Les phares du marketing
Support cours : Les phares du marketing
SmartnSkilled
 
Support formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeurSupport formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeur
SmartnSkilled
 
Support cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERPSupport cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERP
SmartnSkilled
 
Tutoriel : Online English Expertise
Tutoriel : Online English ExpertiseTutoriel : Online English Expertise
Tutoriel : Online English Expertise
SmartnSkilled
 
Formation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commercialeFormation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commerciale
SmartnSkilled
 
Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)
SmartnSkilled
 
Support cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASASupport cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASA
SmartnSkilled
 
Support Tutoriel : Online English Expertise
Support Tutoriel : Online English ExpertiseSupport Tutoriel : Online English Expertise
Support Tutoriel : Online English Expertise
SmartnSkilled
 
Support formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiquesSupport formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiques
SmartnSkilled
 
Support Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en publicSupport Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en public
SmartnSkilled
 
Support formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soiSupport formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soi
SmartnSkilled
 
Support formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketingSupport formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketing
SmartnSkilled
 
Support formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuelsSupport formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuels
SmartnSkilled
 

Plus de SmartnSkilled (20)

Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?Formation : Comment rendre une réunion efficace ?
Formation : Comment rendre une réunion efficace ?
 
Support cours : Les Data Sciences avec Python Langage - Partie II
Support cours : Les Data Sciences avec Python Langage - Partie IISupport cours : Les Data Sciences avec Python Langage - Partie II
Support cours : Les Data Sciences avec Python Langage - Partie II
 
Support tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERPSupport tutoriel : Initiation à SAP ERP
Support tutoriel : Initiation à SAP ERP
 
Support formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exerciceSupport formation : Maîtriser la comptabilité des opérations de fin d'exercice
Support formation : Maîtriser la comptabilité des opérations de fin d'exercice
 
Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?Support cours : Comment rédiger un rapport ?
Support cours : Comment rédiger un rapport ?
 
Support formation : Maîtriser les Data Sciences avec Python Language - Partie I
Support formation : Maîtriser les Data Sciences avec Python Language - Partie ISupport formation : Maîtriser les Data Sciences avec Python Language - Partie I
Support formation : Maîtriser les Data Sciences avec Python Language - Partie I
 
Support cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnelsSupport cours : Rédigez vos emails professionnels
Support cours : Rédigez vos emails professionnels
 
Support cours : Les phares du marketing
Support cours : Les phares du marketingSupport cours : Les phares du marketing
Support cours : Les phares du marketing
 
Support formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeurSupport formation : La négociation commerciale coté vendeur
Support formation : La négociation commerciale coté vendeur
 
Support cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERPSupport cours : Initiation à SAP ERP
Support cours : Initiation à SAP ERP
 
Tutoriel : Online English Expertise
Tutoriel : Online English ExpertiseTutoriel : Online English Expertise
Tutoriel : Online English Expertise
 
Formation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commercialeFormation : Mettre en place une stratégie commerciale
Formation : Mettre en place une stratégie commerciale
 
Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)Support cours : Cours d'Espagnol Débutant (A1-A2)
Support cours : Cours d'Espagnol Débutant (A1-A2)
 
Support cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASASupport cours : Vos premiers pas avec le pare feu CISCO ASA
Support cours : Vos premiers pas avec le pare feu CISCO ASA
 
Support Tutoriel : Online English Expertise
Support Tutoriel : Online English ExpertiseSupport Tutoriel : Online English Expertise
Support Tutoriel : Online English Expertise
 
Support formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiquesSupport formation en ligne : Manager et auditer les risques informatiques
Support formation en ligne : Manager et auditer les risques informatiques
 
Support Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en publicSupport Tutoriel : Art oratoire et prise de parole en public
Support Tutoriel : Art oratoire et prise de parole en public
 
Support formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soiSupport formation en ligne: L'estime de soi
Support formation en ligne: L'estime de soi
 
Support formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketingSupport formation vidéo : Les phares du marketing
Support formation vidéo : Les phares du marketing
 
Support formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuelsSupport formation en ligne: La conduite des entretiens individuels
Support formation en ligne: La conduite des entretiens individuels
 

Dernier

Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 

Dernier (13)

Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 

Support formation : Construire et administrer vos conteneurs avec Docker

  • 1. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Présentation de la formation Docker
  • 2. Formation Docker Copyright © AVAEDOS. All rights reserved  Le formateur  Objectifs de cette formation  Ressources de formation  Prérequis  Agenda
  • 3. Formation Docker Copyright © AVAEDOS. All rights reserved  Consultant / Formateur depuis 2001: ▪ Infrastructure (Microsoft, Docker) ▪ Développement (Web, .NET) ▪ Cloud (IaaS, Paas)  Rédacteur d’articles techniques ▪ SMART DSI, Avaedos, … ▪ Livres sur IIS, Exchange 2016 et Docker surWindows  Certifications: ▪ Microsoft : MVP, NT4 àWindows 10 etWindows Server 2012 ▪ Cisco : CCNA,CCAI ▪ SUN : SCSA, SCNA.  Contact: ▪ lthobois@live.com
  • 4. Formation Docker Copyright © AVAEDOS. All rights reserved  Avoir une vision générale de la technologie Docker ▪ Découvrir les concepts de Docker ▪ Présenter les services proposés autour de Docker ▪ Comprendre l’intégration de Docker avec son écosystème  Avoir les connaissances techniques pour monter une infrastructure
  • 5. Formation Docker Copyright © AVAEDOS. All rights reserved  Infrastructure de formation ▪ VirtualBox ▪ Hyper-V ▪ Windows Azure ▪ …  Supports de formation ▪ Supports de présentation ▪ Ateliers pratiques ▪ Outils ▪ …
  • 6. Formation Docker Copyright © AVAEDOS. All rights reserved  Connaissances de base des technologies réseau, notamment DNS et les technologies de pare-feu  Expérience d'utilisation : ▪ d’un environnement de virtualisation ▪ du système d'exploitation Windows Server / Linux ▪ des outils de gestion et d'analyse ▪ des outils de mise en réseau et de dépannage
  • 7. Formation Docker Copyright © AVAEDOS. All rights reserved 1. Présentation de Docker 2. Initiation aux conteneurs 3. Construction des images avec Dockerfile 4. Administration de la registry 5. Déploiement à l’aide de Docker compose 6. Exploitation des conteneurs 7. Déploiement des hôtes à l’aide de Docker Machine 8. Implémentation d’un cluster Swarm 9. Déploiement d’une stack de service
  • 8. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 9. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Présentation de Docker L’environnement de Docker Docker
  • 10. Formation Docker Copyright © AVAEDOS. All rights reserved  La virtualisation  Organisation du système d’information
  • 11. Formation Docker Copyright © AVAEDOS. All rights reserved  Pourquoi la virtualisation ?  Concrètement  Avantages de la virtualisation  Les technologies de virtualisation  Exemple: le poste de travail
  • 12. Formation Docker Copyright © AVAEDOS. All rights reserved  L’origine du succès de l’informatique ▪ Participation offerte à tous  Problèmes ▪ de compatibilité ▪ d’interopérabilité ▪ de stabilité  Solutions ▪ Segmentation
  • 13. Formation Docker Copyright © AVAEDOS. All rights reserved  On manipule maintenant des conteneurs virtuels  Exemples: ▪ Je veux supprimer un programme qui ne répond plus ? Je supprime le processus (donc la mémoire et l'espace de swap du disque) liée à l'application. ▪ Je veux déplacer mon système d'exploitation car mon serveur ne démarre plus ? Je déplace la machine virtuelle (donc le disque virtuel et sa configuration) sur un autre serveur.
  • 14. Formation Docker Copyright © AVAEDOS. All rights reserved  La virtualisation apporte deux avantages:  Diminution duTCO ▪ Charges administratives réduites ▪ Meilleurs exploitation des ressources ▪ Moins de maintenance  Souplesse accrues ▪ Facilité d’administration des ressources ▪ Indépendance des ressources face à l’infrastructure
  • 15. Formation Docker Copyright © AVAEDOS. All rights reserved Virtualisation du poste de travail Virtualisation des applications Virtualisation de la présentation Virtualisation des serveurs Virtualisation de l’environnement Virtualisation des infrastructures
  • 16. Formation Docker Copyright © AVAEDOS. All rights reserved Matériel OS Données et paramètres Applications Profiles Application Poste de travail Système d’exploitation Virtualisation locale au poste Virtualisation distante Focus: DiminutionTCO Focus: Flexibilité accrue Présentation Poste de travail traditionnel Présentation Virtualisation locale au poste Virtualisation distante
  • 17. Formation Docker Copyright © AVAEDOS. All rights reserved  Web Service  SOA (Architecture orientée services)  Architectures ▪ Sans urbanisation ▪ Avec urbanisation  Micro-services  Le mouvement DevOps
  • 18. Formation Docker Copyright © AVAEDOS. All rights reserved  Communication s’appuyant sur les technologies web  Web Service SOAP ▪ Historique ▪ Implémentation lourde via contrat ▪ Format XML  Web Service REST ▪ Client Mobile ▪ FormatJSON  <menu id="file" value="File"> ▪ <popup> ▪ <menuitem value="New" onclick="CreateNewDoc()" /> ▪ <menuitem value="Open" onclick="OpenDoc()" /> ▪ <menuitem value="Close" onclick="CloseDoc()" /> ▪ </popup>  </menu>  { "menu": ▪ { "id": "file", "value": "File", "popup": ▪ { "menuitem": [ ▪ { "value": "New", "onclick": "CreateNewDoc()" }, ▪ { "value": "Open", "onclick": "OpenDoc()" }, ▪ { "value": "Close", "onclick": "CloseDoc()" } ▪ ] } ▪ }  }
  • 19. Formation Docker Copyright © AVAEDOS. All rights reserved  Ensemble de services simples ▪ Ne pas construire l'entreprise autour d'applications ▪ Découpage par service autonome  Caractéristiques ▪ S’appui sur lesWeb services ▪ Objectif de blocs interchangeables ▪ Difficulté d’implémentation ▪ Frontière technique ▪ Frontière fonctionnel de responsabilité
  • 20. Formation Docker Copyright © AVAEDOS. All rights reserved  Sans urbanisation ▪ Chaque application a son propre système de compte ▪ Donc un nouveau compte doit être créé sur chaque application ▪ Chaque modification doit être synchronisé sur chacune des applications  Avec urbanisation ▪ Un service est dédié à la gestion des comptes ▪ Chaque application vient demander les informations de compte à ce service ▪ Seul ce service doit être mis à jour à la modification d’un utilisateur
  • 21. Formation Docker Copyright © AVAEDOS. All rights reserved  Isolation au niveau de la fonctionnalité ▪ On décompose les services en plusieurs composants indépendants et faiblement couplés ▪ Souvent spécialisés dans une seule tâche  Les composants (microservices) sont reliés par des API REST  Lors d’une mise à jour, seul le microservice lié est impacté  Coût de mise en place important ▪ Modèle DDD - Domain Driven Design
  • 22. Formation Docker Copyright © AVAEDOS. All rights reserved  Permet de réunifier les développeurs avec les exploitants applicatifs et systèmes ▪ L'objectif du développeur est d'ajouter des fonctionnalités ▪ L'objectif de l'exploitant est de garantir la disponibilité du service ▪ Conflits d'intérêts entre les deux  Le mouvement DevOps est né de la volonté de globaliser les méthodes agiles à l'ensemble des services.  Pour atteindre ces objectifs, il est recommandé : ▪ De déployer régulièrement des applications ▪ De tester au plus tôt dans le processus de développement les régression et autres erreurs (intégration continue, test unitaire, ...) ▪ De réaliser les tests au plus proche de la production ▪ Un cycle d'amélioration court favorisant les échanges avec les utilisateurs. ▪ Une supervision de l'exploitation et de la qualité de production représentée par des métriques et indicateurs "clé".
  • 23. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 24. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Présentation de Docker Les fondamentaux de Docker Docker
  • 25. Formation Docker Copyright © AVAEDOS. All rights reserved  Qu’est ce qu’un conteneur ?  Un peu d’histoire sur les conteneurs  Machines virtuelles versus conteneurs  Docker  Les commandes docker  Editions de Docker  Implémentation sous Linux et Windows
  • 26. Formation Docker Copyright © AVAEDOS. All rights reserved  Virtualisation du système d’exploitation  Perception d’environnement isolé et indépendant  Package déclaratif  Unité de déploiement « universelle »  Idéal pour le développement et les tests
  • 27. Formation Docker Copyright © AVAEDOS. All rights reserved  Conteneur = unité de transport intermodal  Virtualisation de processus ▪ UNIX chroot(1979-1982) ▪ BSDJail(1998) ▪ ParallelsVirtuozzo(2001) ▪ Solaris Containers (2005) ▪ Linux LXC (2008) ▪ Docker (2013)
  • 28. Formation Docker Copyright © AVAEDOS. All rights reserved  Machines virtuelles ▪ Isolation ▪ OS/Composants dupliqués  Conteneurs ▪ Isolation ▪ OS/Composants unifiés
  • 29. Formation Docker Copyright © AVAEDOS. All rights reserved  Créé en 2013  Solution pour manipuler des conteneurs  Modèle avec architecture de type client / serveur ▪ Client Docker ▪ Moteur Docker ▪ Communication client / serveur avec des appels en REST
  • 30. Formation Docker Copyright © AVAEDOS. All rights reserved  Composé d’une quarantaine de commandes ▪ Décrire l’image d’une application à déployer dans un conteneur ▪ Publier l’image dans un repository (public ou privé) ▪ Interroger un repository ▪ Gérer les versions des images dans un repository(appelé Registry) ▪ Déployer des images…
  • 31. Formation Docker Copyright © AVAEDOS. All rights reserved  Client Docker (ligne de commande) ▪ disponible sur Mac OS X, Linux etWindows ▪ docker run  pour instancier un nouveau conteneur ▪ docker ps  Liste les conteneurs en cours d’exécution ▪ docker pull  pour télécharger une image  Moteur Docker (Docker Host) ▪ Disponible uniquement sur Linux etWindows (10 et Server 2016) ▪ La machine peut être une machine virtuelle sur Azure, Hyper-V,VMWare, …
  • 32. Formation Docker Copyright © AVAEDOS. All rights reserved  Docker Enterprise Edition ▪ Basique: la plate-forme Docker pour une infrastructure certifiée, avec le support de Docker Inc. et des conteneurs et plugins certifiés de Docker Store ▪ Standard: ajoute une gestion avancée de l'image et du conteneur, l'intégration des utilisateurs LDAP / AD et le contrôle d'accès basé sur les rôles (Docker Datacenter) ▪ Avancé: ajoute Docker Security Scanning et surveillance continue de la vulnérabilité  DockerCommunity Edition ▪ Edge est destiné aux utilisateurs souhaitant tester les fonctionnalités les plus récentes et les plus importantes chaque mois ▪ Stable est publié trimestriellement et s'adresse aux utilisateurs qui veulent un rythme de déploiement plus facile à maintenir
  • 33. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 34. Formation Docker Copyright © AVAEDOS. All rights reserved  Virtualisation et isolation ▪ Docker intègre la bibliothéque libcontainer qui exploite et combine les capacités de virtualisation du noyau Linux (namespaces, cgroups, capabilities, …)  libcontainer ▪ Format par défaut des conteneurs. ▪ Docker supporter aussi les conteneurs LXC ▪ Extension possible dans le futur (BSD Jails,Solaris Zones, ...)  namespaces ▪ Fournit le mecanisme d'isolation des conteneurs. ▪ Docker créé un ensemble de namespaces pour le conteneur  cgroups (ou Control Groups) ▪ Groupe les process et offre une administration commune ▪ Partage les ressources matériels
  • 35. Formation Docker Copyright © AVAEDOS. All rights reserved  ConteneursWindows ▪ Windows Server 2016 ▪ S’appui sur les ressources du système  Conteneurs Hyper-V ▪ Windows 10 etWindows Server 2016 ▪ S’appui sur des images Hyper-V ▪ Nano server ▪ Core server
  • 36. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 37. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Présentation de Docker Les fondamentaux de Docker Docker
  • 38. Formation Docker Copyright © AVAEDOS. All rights reserved  Image Docker  Kernel, images et conteneurs
  • 39. Formation Docker Copyright © AVAEDOS. All rights reserved  Une image est constituée d'une série de couches appelées « layers »  Chaque image s’appuie sur une image de base (ex: Ubuntu) puis intègre des composants plus avancé comme Nginx
  • 40. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 41. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 42. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Présentation de Docker Ecosystème étendue Docker
  • 43. Formation Docker Copyright © AVAEDOS. All rights reserved  Ecosystème Docker  Docker & Cloud  Docker dans le marketplace d’Azure  Docker etVisual Studio  Et tous les autres …
  • 44. Formation Docker Copyright © AVAEDOS. All rights reserved  Docker Engine  Docker Client  Dockerfile  Docker Registry (Trusted & Hub)  Docker Compose  Docker Machine  Docker Swarm  Docker Stack
  • 45. Formation Docker Copyright © AVAEDOS. All rights reserved  Partenariat fort ! ▪ Images Docker ▪ Extensions Docker ▪ Azure Containers Services ▪ Amazon EC2 Container Service
  • 46. Formation Docker Copyright © AVAEDOS. All rights reserved  DockerTrusted Registry ▪ Docker, Inc. ▪ https://hub-beta.docker.com/enterprise/  Docker ▪ Extension Microsoft  Docker on Ubuntu Server ▪ Canonical + Microsoft
  • 47. Formation Docker Copyright © AVAEDOS. All rights reserved  Module dédié aux développeurs  Intégration à Azure  http://myview.rahulnivi.net/.Net,AS P.Net,C,EntityFramework,MVC/doc ker/
  • 48. Formation Docker Copyright © AVAEDOS. All rights reserved  Kubernetes ▪ Mise en cluster  Dokku ▪ Facilite les déploiements  Jenkins ▪ Serveur d‘intégration continu  DCOS ▪ Editeur Mesosphere ▪ Exécution, gestion et répartition de charges des containers avec Chronos  Marathon ▪ Init : Démarre les taches et vérifie la disponibilités ▪ Framework pour le cluster Apache Mesos  Chronos ▪ Cron distribué
  • 49. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 50. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Construction des images à l’aide de Dockerfile Docker
  • 51. Formation Docker Copyright © AVAEDOS. All rights reserved  Présentation de Dockerfile  Création d’images par Dockerfile  FROM  RUN  ENV  VOLUME  COPY  ENTRYPOINT  CMD  EXPOSE
  • 52. Formation Docker Copyright © AVAEDOS. All rights reserved  L’ensemble des commandes pour construire une image, le tout rassemblé et stocké dans un fichier  Permet de créer un conteneur de manière mieux contrôlé « qu’à la main »
  • 53. Formation Docker Copyright © AVAEDOS. All rights reserved  FROM ▪ image de base (Ubuntu, Debian)  LABEL ▪ Metadonnées de l’image  VOLUME ▪ point de montage  RUN ▪ commande à exécuter pour installer le conteneur  ENTRYPOINT ▪ commande qui s’exécute au démarrage du conteneur (une seule sera exécutée) ;  CMD ▪ commande qui s’exécute au démarrage du conteneur ;  ADD ▪ copier un fichier du répertoire courant dans le système de fichiers du conteneur ;  USER ▪ utilisateur qui exécute les commandes dans le conteneur ;  EXPOSE ▪ port(s) à exposer à l’extérieur.
  • 54. Formation Docker Copyright © AVAEDOS. All rights reserved  Dockerfile commence toujours par la commande FROM  Permet de définir une image de base sur laquelle sera construite la nouvelle image ▪ Si l’image n’est pas présente, elle sera téléchargée  FROM debian:wheezy  FROM scratch ▪ image est construite sans partir d’une image existante
  • 55. Formation Docker Copyright © AVAEDOS. All rights reserved  Permet de lancer n’importe quel processus qui participe à l’élaboration de l’image en cours de compilation  RUN ["exécutable", "paramètre 1", ..., "paramètre N"] ▪ RUN ["exécutable", "paramètre 1", ..., "paramètre N"] ▪ RUN ["echo", "message"]
  • 56. Formation Docker Copyright © AVAEDOS. All rights reserved  Détermine les variables d’environnement ▪ pour l’opération de compilation du Dockerfile (RUN) ▪ dans les conteneurs qui seront lancés  L’option --env de la commande docker run permet de passer des variables d’environnement au moment du lancement du conteneur.
  • 57. Formation Docker Copyright © AVAEDOS. All rights reserved  Identifie les parties de l’arborescence devant être sauvegardé d’une session à l’autre d’un conteneur  VOLUME /var/lib/mongodb  VOLUME /var/log/mongod  Mappé dans un volume virtuel ▪ Au choix de l’administrateur si mappé ▪ Dans un emplacement configuré par défaut  Suppression des volumes ▪ docker rm -vf monconteneur
  • 58. Formation Docker Copyright © AVAEDOS. All rights reserved  Récupère les fichiers locaux sur laquelle la commande docker build est lancée  En pratique, les fichiers qui se trouvent au même emplacement que le fichier Dockerfile sont copiés dans le contexte, et donc chargés par la commande build  Il est essentiel de ne pas placer son fichier Dockerfile dans un répertoire avec des fichiers qui ne seront pas utiles à la construction de l’image ▪ Complexe sur les images qui sont construites à partir d’un dépôt GitHub  Un fichier nommé .dockerignore permet de déclarer les fichiers et répertoires à ignorer au chargement de contexte (symboles * et ? autorisés
  • 59. Formation Docker Copyright © AVAEDOS. All rights reserved  Commande qui va être exécutée lors du démarrage d’un conteneur, c’est-à-dire le processus primaire qui sera porté par ce dernier.  ENTRYPOINT ["/entrypoint.sh"] ▪ ENTRYPOINT suivi d’un tableauJSON, le premier paramètre contient la commande à exécuter, et les suivants les paramètres de cette commande.  ENTRYPOINT "/entrypoint.sh" ▪ ENTRYPOINT suivi d’une chaine, un shell est démarré et le contenu de cette chaîne lui est passé pour interprétation
  • 60. Formation Docker Copyright © AVAEDOS. All rights reserved  Passe au processus spécifié par ENTRYPOINT les paramètres par défaut, en l’absence de paramètres explicitement spécifiés en fin de commande docker run.  CMD ["mongod"]
  • 61. Formation Docker Copyright © AVAEDOS. All rights reserved  EXPOSE 27017  Expose un port réseau à l’extérieur  Il n’est pas obligatoire de mettre en correspondance le port exposé avec un port de la machine hôte  docker run permet de le faire avec l’option -p
  • 62. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 63. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Administration de la registry Docker
  • 64. Formation Docker Copyright © AVAEDOS. All rights reserved  Docker Hub  Docker store  Registry privée
  • 65. Formation Docker Copyright © AVAEDOS. All rights reserved  Registry publique ▪ http://hub.docker.com/  Système de stockage pour les images de conteneurs ▪ évaluation / classement ▪ «automatedbuilds» pour créer automatiquement des images Docker à chaque commit d’un dépôt  Envoi des packages ▪ sudo docker push <compte>/<tag image>
  • 66. Formation Docker Copyright © AVAEDOS. All rights reserved  Registry certifiée ▪ https://store.docker.com/  Contenu ▪ Clients CE ▪ Clients EE ▪ Images ▪ Plugins  Conteneurs payant ▪ Licence
  • 67. Formation Docker Copyright © AVAEDOS. All rights reserved  Déploiement via conteneur ▪ docker run -d --name registre -p 88:5000 registry  Ajoutez d’un tag d’envoi vers le nouveau registre ▪ docker tag lthobois/myapp localhost:88/myapp  Envoi vers le nouveau registre ▪ docker push localhost:88/myapp  Téléchargement ▪ docker run -d --name conteneur localhost:88/myapp
  • 68. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 69. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Déploiement à l’aide de Docker compose Docker
  • 70. Formation Docker Copyright © AVAEDOS. All rights reserved  Présentation  Installation  Description du fichierYAML  Utilisation  Autres commandes utiles
  • 71. Formation Docker Copyright © AVAEDOS. All rights reserved  Un seul binaire pour démarrer et administrer de multiples conteneurs et volumes sur un seul hôte docker  Spécification et configuration dans un fichier ▪ docker-compose.yml  Déplace les longues commandes docker run vers le fichier YAML ▪ docker-compose up
  • 72. Formation Docker Copyright © AVAEDOS. All rights reserved  https://docs.docker.com/compose/install/ ▪ Windows, MacOS X, Linux  Via pip, apt-get  Ou récupérer le binaire ▪ sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker- compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose ▪ sudo chmod +x /usr/local/bin/docker-compose
  • 73. Formation Docker Copyright © AVAEDOS. All rights reserved  https://docs.docker.com/compose/c ompose-file/  Version 1 ▪ Mono serveur ▪ Prochainement déprécié  Version 2 ▪ Mono serveur ▪ Configuration réseau et stockage  Version 3 ▪ Cluster Swarm  wordpress:  image: wordpress  links:  - mysql  ports:  - "80:80"  environment:  -WORDPRESS_DB_NAME=wordpress  -WORDPRESS_DB_USER=wordpress  -WORDPRESS_DB_PASSWORD=wordpresspwd  mysql:  image: mysql  volumes:  - /home/docker/mysql:/var/lib/mysql  environment:  - MYSQL_ROOT_PASSWORD=wordpressdocker  - MYSQL_DATABASE=wordpress  - MYSQL_USER=wordpress  - MYSQL_PASSWORD=wordpresspwd
  • 74. Formation Docker Copyright © AVAEDOS. All rights reserved  docker-compose up ▪ Build des images à partir des Dockerfile ▪ Télécharges les images à partir de la registry (hub, …) ▪ Créé et démarre les conteneurs ▪ Stream les logs
  • 75. Formation Docker Copyright © AVAEDOS. All rights reserved  docker-compose run -d ▪ Exécute le projet  docker-compose ps ▪ Liste les conteneurs du projet  docker-compose stop ▪ Arrête les conteneurs du projet  docker-compose down –volumes ▪ Supprimes les conteneurs du projet
  • 76. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 77. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Exploitation : Infrastructure réseau Docker
  • 78. Formation Docker Copyright © AVAEDOS. All rights reserved  Mode de fonctionnement standard (bridge)  Configuration réseau du conteneur  Modes de fonctionnement alternatifs  Considérations
  • 79. Formation Docker Copyright © AVAEDOS. All rights reserved  Chaque conteneur possède sa propre interface réseau  Par défaut, Docker fonctionne en mode bridge ▪ Le moteur Docker créé une couche de virtualisation entre l’interface réseau de la machine hôte et celle créée pour les conteneurs. ▪ Sur l’hôte une interface réseau dédiée docker0 (Souvent 172.17.0.1/16). ▪ Dans le conteneur, une interface réseau spécifique (Souvent 172.17.0.2/16).
  • 80. Formation Docker Copyright © AVAEDOS. All rights reserved  Ajout d’un hôte dns ▪ docker run --add-host avaedos:8.8.8.8 debian ▪ Uniquement pour les serveurs externes  Spécifie un serveur dns ▪ --dns  Change le nom de machine du conteneur ▪ --hostname
  • 81. Formation Docker Copyright © AVAEDOS. All rights reserved  Réseau isolé ▪ docker run --net none debian ping www.avaedos.com  Réseau lié à la carte locale de l’hôte ▪ sudo docker run -d --name iplocal --net host nginx  Mode join ▪ sudo docker run --rm --name join2 --net container:join1 ubuntu:trusty netstat -al  Lien dynamique entre deux conteneurs ▪ sudo docker run --rm -it --link link1:serveurweb ubuntu:trusty
  • 82. Formation Docker Copyright © AVAEDOS. All rights reserved  Documentation ▪ https://docs.docker.com/engine/reference/run/ ▪ https://docs.docker.com/engine/userguide/networking/  Limites de la couche réseau existante ▪ Impossible, en utilisant Docker seul, de réaliser un lien entre deux conteneurs portés par deux démons Docker fonctionnant sur deux machines séparées.
  • 83. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 84. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Exploitation : Infrastructure de stockage Docker
  • 85. Formation Docker Copyright © AVAEDOS. All rights reserved  Le problème de la persistance  Gestion du stockage  Plugins de volume  Volumes orphelins  Principe de la copie sur écriture (CoW)  Intégration à Docker de la copie sur écriture  Les pilotes de stockage Docker  Quel est le meilleur pilote de stockage ?
  • 86. Formation Docker Copyright © AVAEDOS. All rights reserved  Le conteneur est l'état d'exécution d'une image ... et gère les données  2Types de données: ▪ Ephémère: ne vive que lorsque le conteneur est en vie {storagedrivers} ▪ Persistent: pas lié au cycle de vie du conteneur et doit être sauvegardé {plugins de volume}  Identification des données persistantes ▪ Le mot-cléVOLUME du Dockerfile ▪ Le commutateur -v de la commande docker run
  • 87. Formation Docker Copyright © AVAEDOS. All rights reserved  docker run -v ▪ Redirection paramétrable  docker volume ls ▪ Liste des volumes persistants  docker inspect <id conteneur> ▪ Affiche les volumes redirigés et leurs destinations  docker cp ▪ Permet de copier des fichiers à partir/vers un conteneur  docker run --volumes-from <cont>[:ro] ▪ Partage de volumes entre deux conteneurs ▪ Recommandé en lecture seule
  • 88. Formation Docker Copyright © AVAEDOS. All rights reserved  https://docs.docker.com/engine/extend/legacy_plugins/ ▪ Azure File Storage plugin ▪ BeeGFSVolume plugin ▪ Blockbridge plugin ▪ ContivVolume plugin ▪ Convoy plugin ▪ DigitalOcean Block Storage plugin ▪ DRBD plugin ▪ Flocker plugin ▪ …  Infinit ▪ Rachat par Docker en décembre 2016 ▪ https://infinit.sh/
  • 89. Formation Docker Copyright © AVAEDOS. All rights reserved  Suppression des volumes avec le conteneur ▪ docker rm –v <id conteneur>  Liste des volumes orphelins ▪ docker volume ls -qf dangling=true  Nettoyage des volumes orphelins ▪ docker volume prune
  • 90. Formation Docker Copyright © AVAEDOS. All rights reserved  Si de multiples appelants demandent des ressources initialement impossibles à distinguer, vous pouvez leur donner des pointeurs vers la même ressource.  Cette fiction peut être maintenue jusqu'à ce qu'un appelant modifie sa « copie » de la ressource.  À ce moment-là, une copie privée est créée. Cela évite que le changement soit visible ailleurs. Ceci se produit de manière transparente pour les autres appelants.  L'avantage principal est que si un appelant ne fait jamais de modifications, la copie privée n'est jamais créée.
  • 91. Formation Docker Copyright © AVAEDOS. All rights reserved  Sans copie sur écriture ▪ Il faudrait une éternité pour lancer un conteneur ▪ Les conteneurs utiliseraient beaucoup d'espace  Sans copie sur écriture "sur votre bureau" ... ▪ Docker ne serait pas utilisable sur votre machine ▪ Il n'y aurait pas Docker ▪ ☹
  • 92. Formation Docker Copyright © AVAEDOS. All rights reserved  Optimisation sur la copie sur écriture  2 niveaux de gestion des données: ▪ Niveau fichier: La modification d'un fichier entraîne la manipulation de tout le fichier ▪ Lenteur à l’écriture ▪ Niveau bloc: La modification d’un fichier entraîne la modification du bloc contenant cet octet ▪ Rapidité d’écrite ▪ Lenteur liée à la fragmentation ▪ Considéré comme plus rapide  https://docs.docker.com/engine/user guide/storagedriver/  Driver Date Noyau  Unionfs 2003 NO  AUFS 2006 NO  Overlay 2014 3.18  DeviceMapper 2005 2.6.9  Btrfs 2007 2.6.29  ZFS 2013 NO
  • 93. Formation Docker Copyright © AVAEDOS. All rights reserved  AUFS: ▪ Rapide (monture ou E / S) {cache de page}. ▪ Absent du noyau principal ▪ La recopie et CoW peut être très coûteux  Overlay FS: ▪ Accès au cache en un coup ▪ Mais pas la copie ▪ Forte consommation d'inode ▪ Vérifier le disponibilité sur les distributions ▪ Pas totalement compatible POSIX ... de nos jours, qui s'en soucie?  Device Mapper: ▪ Les snapshots sont des périphériques réels. ▪ La performance pourrait être un problème ... mais il existe un conteneur partagé et un conteneur en lecture seule.  Btrfs: ▪ Pas de cache de page. ▪ Gestion des fragments {soit petites écritures, fragmentation, rebalanace}. ▪ Les écritures pourraient être coûteuses. ▪ Dans certaines distros encore dans l'aperçu technique.  ZFS: ▪ Nécessite plus de mémoire ▪ Un pilote robuste avec une longue histoire en mode production ▪ Riche de fonctionnalités "stables"
  • 94. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 95. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Exploitation : Bonnes pratiques et supervision Docker
  • 96. Formation Docker Copyright © AVAEDOS. All rights reserved  Configuration du daemon docker  Démarrage automatique  Gestion des logs  Restriction sur les ressources  Sécurité  Supervision à l’aide de Rancher
  • 97. Formation Docker Copyright © AVAEDOS. All rights reserved  Configuration au lancement ▪ $ dockerd -D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://192.168.59.3:2376  Fichier daemon.json ▪ { ▪ "debug": true, ▪ "tls": true, ▪ "tlscert": "/var/docker/server.pem", ▪ "tlskey": "/var/docker/serverkey.pem", ▪ "hosts": "tcp://192.168.59.3:2376" ▪ }  Options avancées ▪ https://docs.docker.com/engine/admin/
  • 98. Formation Docker Copyright © AVAEDOS. All rights reserved  Paramètre --restart (docker run --restart <param>) ▪ no: Ne redémarre pas le conteneur.Valeur par défaut. ▪ on-failure[:max-retries] : Redémarre uniquement si le conteneur est sorti avec un état de sortie non nul. ▪ always:Toujours redémarrer le conteneur indépendamment de l'état de sortie. Tentera de redémarrer le conteneur indéfiniment. ▪ unless-stopped: À moins d'arrêterToujours redémarrer le conteneur, sauf si le conteneur a été arrêté avant.
  • 99. Formation Docker Copyright © AVAEDOS. All rights reserved  Application standard via console ▪ docker logs ▪ Redirection des répertoires correspondants  Bonnes pratiques ▪ Répertoires par défaut /log dans la configuration applicative (Dockerfile)
  • 100. Formation Docker Copyright © AVAEDOS. All rights reserved  Documentation ▪ https://docs.docker.com/engine/reference/run/  Limiter l’usage mémoire et processeur d’un conteneur ▪ docker run -it --memory 256m --cpushares 256 ubuntu  --cpushares ▪ Limite sur les tranches de processeur de manière relative. ▪ Tant que le conteneur est seul il utilise 100 % du CPU  --memory ▪ La mémoire est limitée en taille absolue
  • 101. Formation Docker Copyright © AVAEDOS. All rights reserved  l’option --user sur la commande docker run permet de limiter les privilèges dans le conteneur
  • 102. Formation Docker Copyright © AVAEDOS. All rights reserved  Plusieurs outils sur le marché ▪ https://portainer.io/ ▪ https://rancher.com/ ▪ Applications Chrome store ▪ …  Fonctionnalité diverses ▪ Supervision / Administration ▪ Registry interne ▪ Gestion des orchestrateurs ▪ …
  • 103. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 104. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Déploiement à l’aide de Docker machine Docker
  • 105. Formation Docker Copyright © AVAEDOS. All rights reserved  Présentation  Provisioning  Exemples d’implémentation  Installation  Exemples d’utilisation  Déploiement de Docker Swarm
  • 106. Formation Docker Copyright © AVAEDOS. All rights reserved  Déploiement et administration des hôtes de conteneur ▪ Provisions de machines virtuelles ▪ Démarrage, Arrêt, Suppression de machines virtuelles ▪ Installation / Configuration du moteur Docker ▪ Administration basic de l’hôte ▪ Provision de nœud Swarm  Installation et configuration de docker sur plusieurs systèmes ▪ Une quinzaine de pilotes disponibles ▪ VirtualBox,VMware, Hyper-V ▪ Azure, AWS, DigitalOcean, GCE, etc
  • 107. Formation Docker Copyright © AVAEDOS. All rights reserved  Vérification / Installation de l’hyperviseur ▪ Hyper-V,VirtualBox, Azure, …  Téléchargement du système d’exploitation hôte ▪ Boot2Docker, RancherOS, Ubuntu, Debian, …  Déploiement de la machine virtuelle ▪ Configuration mémoire, CPU, …  Création et déploiement d’un jeu de clé SSH ▪ Magasin local et de l’hôte déployé  Installation du moteur Docker ▪ Choix de la version  Intégration à un cluster SWARM ▪ Optionnel
  • 108. Formation Docker Copyright © AVAEDOS. All rights reserved  Développement local et test ▪ Remplace Boot2Docker  Test de cluster Swarm ▪ Provision rapide de clusters locaux  Test des versions du moteur docker
  • 109. Formation Docker Copyright © AVAEDOS. All rights reserved  https://docs.docker.com/machine/install-machine/ ▪ Windows, Linux, MacOS X  Téléchargement du binaire ▪ $ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker- machine-`uname -s`-`uname -m` >/tmp/docker-machine && sudo install /tmp/docker-machine /usr/local/bin/docker-machine  Autorisation de l’execution du binaire ▪ $ chmod +x docker-machine
  • 110. Formation Docker Copyright © AVAEDOS. All rights reserved  docker-machine create -d azure –azure-subscription-id=“<sub-id>” –azure- subscription-cert=“<cert.pem>” node1 ▪ Déploiement d’une machine dans le cloud  docker-machine ls ▪ Liste des machines attachés à docker-machine  docker-machine ssh node1 ▪ Connexion à une machine en SSH  docker-machine env mycontainer ▪ Liste des variables d’environnement d’un conteneur
  • 111. Formation Docker Copyright © AVAEDOS. All rights reserved  Création d’un token pour la découverte  Déployer les nœuds avec les paramètres swarm ▪ --swarm, --swarm-master, --swarm-discovery, …  docker swarm init ▪ 9fb09d6631e61568502b0e710169a7d3  docker-machine create -d azure --swarm --swarm-discovery token:// 9fb09d6631e61568502b0e710169a7d3 node1  docker-machine create -d virtualbox --swarm --swarm-master --swarm- discovery token:// 9fb09d6631e61568502b0e710169a7d3 node2
  • 112. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 113. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Docker Swarm Docker
  • 114. Formation Docker Copyright © AVAEDOS. All rights reserved  Orchestrateur : Qu’est-ce que c’est ?  Swarm mode  De nos jours … à Swarm  Caractéristiques de Swarm  Administration du cluster  Mise en place du cluster  Administration des services  Défaillance d’un nœud  Quorum MNS  Réseau overlay
  • 115. Formation Docker Copyright © AVAEDOS. All rights reserved  Gère un pool de ressources  Il connaît la topologie du cluster ▪ Ressources disponibles ▪ Applications déployées  Il connait l’état de santé … ▪ …des services ▪ …de la plateforme  C’est une évolution des outils ▪ Manuel (Scripts)  Automatisé (Conformité)  Délégué (Orchestration)
  • 116. Formation Docker Copyright © AVAEDOS. All rights reserved  Introduit avec la v1.12 ▪ Remplace Docker Swarm  Client Docker ▪ Proxy des requêtes vers docker engine ▪ Pas de GUI par défaut (portainer, rancher, …) ▪ Implémentation facile  Vocabulaire: ▪ Node: Docker engine membre du cluster swarm de type Manager ouWorker ▪ Service: Ensemble de tâches ▪ Tâches: Un conteneur et sa commande  Docker Swarm mode ▪ 3000 commits ▪ 71 contributeurs  Développé en Go  Géré par Docker Inc
  • 117. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 118. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 119. Formation Docker Copyright © AVAEDOS. All rights reserved  Docker REST API (>85%)  Gestion des ressources (CPU, Mémoire, Réseau, Stockage)  Planification avec contraintes et affinités  Stack de service pour les architectures applicatives avancées  TLS: Chiffrement & Authentification
  • 120. Formation Docker Copyright © AVAEDOS. All rights reserved  docker swarm ▪ Gestion du cluster ▪ init Initialize a swarm ▪ join Join a swarm as a node and/or manager ▪ join-token Manage join tokens ▪ leave Leave the swarm ▪ unlock Unlock swarm ▪ unlock-key Manage the unlock key ▪ update Update the swarm  docker node ▪ Gestion des nœuds du cluster ▪ demote Demote one or more nodes from manager in the swarm ▪ inspect Display detailed information on one or more nodes ▪ ls List nodes in the swarm ▪ promote Promote one or more nodes to manager in the swarm ▪ ps List tasks running on one or more nodes, defaults to current node ▪ rm Remove one or more nodes from the swarm ▪ update Update a node  docker service ▪ Gestion des conteneurs dans Swarm (services) ▪ create Create a new service ▪ inspect Display detailed information on one or more services ▪ logs Fetch the logs of a service or task ▪ ls List services ▪ ps List the tasks of one or more services ▪ rm Remove one or more services ▪ scale Scale one or multiple replicated services ▪ update Update a service
  • 121. Formation Docker Copyright © AVAEDOS. All rights reserved  Création du cluster: ▪ docker swarm init  Ajouter un nœud au cluster: ▪ docker swarm join –token <token> <ip leader>:2377  Promouvoir un nœud en tant que manager ▪ docker node promote noeud1
  • 122. Formation Docker Copyright © AVAEDOS. All rights reserved  Mémoire ▪ docker service create --limit-memory 1g …  CPU ▪ docker service create --limit-cpu 1 …  Ports ▪ docker service create -p 80:80 …  Documentation ▪ https://docs.docker.com/engine/reference/commandline/service_create/
  • 123. Formation Docker Copyright © AVAEDOS. All rights reserved  Contraintes du docker info ▪ docker service create --constraint “constraint:operatingsystem==*deb*” … ▪ docker service create --constraint “constraint:storagedriver==*aufs*” …  Contraintes du label ▪ docker service create -d --label “region==us-east” ▪ docker service create --constraint “constraint:region==us-east” …  Contrainte de l’hote ▪ docker service create --constraint “constraint:node==ubuntu-2” …
  • 124. Formation Docker Copyright © AVAEDOS. All rights reserved  Affinités sur les conteneurs ▪ docker run --name web nginx ▪ docker service create -e “affinity:container==web” logger  Anti-affinités sur les conteneurs ▪ docker service create --name redis-master redis ▪ docker service create --name redis-slave -e “affinity:container!=redis*” …  Affinités sur les images ▪ docker service create -e “affinity:image==redis” redis
  • 125. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 126. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 127. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 128. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 129. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 130. Formation Docker Copyright © AVAEDOS. All rights reserved
  • 131. Formation Docker Copyright © AVAEDOS. All rights reserved Swarm Size Majority FaultTolerance 1 1 0 2 2 0 3 2 1 4 3 1 5 3 2 6 4 2 7 4 3 8 5 3 9 5 4  Pour éviter le split brain ▪ Majorité absolue de manager disponible  Sauvegarde du manager ▪ /var/lib/docker/swarm ▪ Clé du cluster  Documentation ▪ https://docs.docker.com/engine/swarm/ admin_guide/
  • 132. Formation Docker Copyright © AVAEDOS. All rights reserved  Spécifique au cluster Swarm ▪ Réseau inter-hôtes  Création ▪ docker network create --driver overlay --subnet 10.0.9.0/24 my-multi-host- network  https://docs.docker.com/engine/userguide/networking/get-started- overlay/
  • 133. Formation Docker Copyright © AVAEDOS. All rights reserved  Load balancer intégré sur les ports publiés ▪ Indépendance à la publication ▪ Dépendance aux défaillances matériels  Mise à jour de publication possible ▪ docker service update --publish-add <PUBLISHED-PORT>:<TARGET-PORT> <SERVICE>
  • 134. Formation Docker Copyright © AVAEDOS. All rights reserved  Utilisation d’un reverse proxy pour la protection de l’infrastructure
  • 135. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 136. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Déploiement d’une Stack de service Docker
  • 137. Formation Docker Copyright © AVAEDOS. All rights reserved  Docker Stack  Administration  Bientôt les bundles…
  • 138. Formation Docker Copyright © AVAEDOS. All rights reserved  Nouvelle méthode de déploiement des applications multi-conteneur dans un cluster Swarm  Utilise un fichier docker-compose v3 ▪ Instructions pour swarm ▪ https://docs.docker.com/docker-cloud/apps/stack-yaml-reference/  Déploiement via docker stack ▪ docker stack deploy --compose-file docker-compose.yml mystack
  • 139. Formation Docker Copyright © AVAEDOS. All rights reserved  docker stack ▪ Gestion des piles de service ▪ deploy Deploy a new stack or update an existing stack ▪ ls List stacks ▪ ps List the tasks in the stack ▪ rm Remove one or more stacks ▪ services List the services in the stack 140
  • 140. Formation Docker Copyright © AVAEDOS. All rights reserved  Evolution de stack ▪ Expérimentale actuellement  Format d’image multi-services ▪ Facilite le packaging  Créer à partir de docker-compose ▪ docker-compose bundle 141
  • 141. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module
  • 142. Formation Docker Copyright © AVAEDOS. All rights reserved Présentée par: LoïcTHOBOIS Directeur technique Fondateur de AVAEDOS Conclusion Docker
  • 143. Formation Docker Copyright © AVAEDOS. All rights reserved 1. Ecosystème Docker 2. La pile de technologie 1. Docker Machine 2. Conteneurs 3. Dockerfile 4. Docker compose 5. Swarm 6. Stack de service 3. Exploitation 1. Stockage 2. Réseau
  • 144. Formation Docker Copyright © AVAEDOS. All rights reserved Vous avez suivi avec succès le module