Mon cours de virtualisation des conteneurs explore les bases et les technologies avancées de la virtualisation, en mettant l'accent sur l'utilisation de conteneurs pour l'efficacité et la portabilité des applications. Les participants acquièrent des compétences essentielles pour déployer, gérer et optimiser des environnements conteneurisés.
Dans cette présentation, nous donnons plusieurs réponses aux grandes questions classiques associées au déploiement avec Docker. Entre autres :
- comment orchestrer des déploiements non triviaux (plusieurs containers sur plusieurs machines) ?
- comment avoir des métriques sur les ressources utilisées par les containers ?
- comment optimiser les performances de Docker, en particulier pour des applications où ces performances sont critiques ?
- comment intégrer Docker avec des outils de "configuration management" comme Puppet, Chef, Salt, Ansible ?
- comment implémenter la "service discovery", ou, de manière générale, connecter entre eux plusieurs containers ?
La présentation a été donnée Lundi 8 Septembre à Paris dans les locaux de Zenika, cabinet spécialisé dans l'architecture informatique et les méthodes Agiles possédant une triple compétence de conseil, réalisation et formation.
Mon cours de virtualisation des conteneurs explore les bases et les technologies avancées de la virtualisation, en mettant l'accent sur l'utilisation de conteneurs pour l'efficacité et la portabilité des applications. Les participants acquièrent des compétences essentielles pour déployer, gérer et optimiser des environnements conteneurisés.
Dans cette présentation, nous donnons plusieurs réponses aux grandes questions classiques associées au déploiement avec Docker. Entre autres :
- comment orchestrer des déploiements non triviaux (plusieurs containers sur plusieurs machines) ?
- comment avoir des métriques sur les ressources utilisées par les containers ?
- comment optimiser les performances de Docker, en particulier pour des applications où ces performances sont critiques ?
- comment intégrer Docker avec des outils de "configuration management" comme Puppet, Chef, Salt, Ansible ?
- comment implémenter la "service discovery", ou, de manière générale, connecter entre eux plusieurs containers ?
La présentation a été donnée Lundi 8 Septembre à Paris dans les locaux de Zenika, cabinet spécialisé dans l'architecture informatique et les méthodes Agiles possédant une triple compétence de conseil, réalisation et formation.
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Subject: Oxalide's workshop about an overview of Docker and its ecosystem.
Date: 24-mai-2016
Speakers: Julien Follenfant (@Oxalide), Théo Chamley (@MrTrustor, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-workshop-number-4-docker-des-tours-dans-le-petit-bassin
Lien SlideShare : http://www.slideshare.net/LudovicPiot/workshop-4-docker-des-tours-dans-le-petit-bassin
YouTube Video capture: https://youtu.be/xJuRS6QYAAk
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...adri1s
Premier Meetup Docker sur Nice. A cette occasion nous nous retrouverons dans les locaux d’Epitech Nice pour une conférence suivie d'ateliers.
En partenariat avec :
- Epitech Nice
- Gandi
- Wizishop
http://www.meetup.com/Docker-Nice/events/222345639/
1. DOCKER VS VM
2. CONSTRUIRE MANUELLEMENT UNE IMAGE PHP7
3. LANCER SCRIPT PHP 7 EN MODE CONSOLE VIA DOCKER
4. LANCER SCRIPT PHP 7 EN MODE WEB VIA DOCKER
5. AUTOMATISER LE BUILD D’UNE IMAGE DOCKER
6. ORCHESTRER LES CONTAINERS
7. LOAD BALANCER 2 CONTAINERS WEB
8. UTILISER LES IMAGES DE LA COMMUNAUTÉ
-------
1. DOCKER VS VM
2. MANUALLY BUILD A PHP7 IMAGE
3. START SCRIPT PHP 7 IN CONSOLE MODE VIA DOCKER
4. LAUNCH SCRIPT PHP 7 IN WEB MODE VIA DOCKER
5. AUTOMATING THE BUILD OF A DOCKER IMAGE
6. ORCHESTRATING CONTAINERS
7. LOAD BALANCEOR 2 WEB CONTAINERS
8. USER IMAGES OF THE COMMUNITY
Bien que Docker soit facile d'utilisation, construire une image reste un exercice compliqué.
Optimisation, layers, et sécurité nécessitent de s'abstraire des Dockerfile basiques qu'on peut trouver sur internet.
Dans ce BBL, nous verrons comment bien packager une application Spring Boot dans une image Docker/OCI.
Nous allons parcourir les bonnes pratiques préconisées par Spring, les pièges à éviter, comment bien écrire un Dockerfile pour optimiser la construction et l'image finale pour une exécution dans Kubernetes et nous verrons aussi des moyens alternatifs de construction d'images Spring Boot et l'outillage d'analyse à ajouter à votre toolbox.
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
Cette présentation s'adresse aussi bien aux débutants qu'aux utilisateurs de Docker cherchant à en découvrir de nouveaux aspects.
- caractéristiques de Docker et écosystème
- cas d'usage : création d’environnement automatisé pour le développement, déploiement et orchestration de conteneurs, Docker sous Windows
Présentation donnée dans le cadre du Festival Transfo 2019 http://www.festival-transfo.fr/evenement/145/14-docker-un-outil-pour-faciliter-le-developpement-et-le-deploiement-informatique.htm
Rejoindre le meetup des Matinales techniques de Sogilis : https://www.meetup.com/Les-matinales-techniques-de-Sogilis
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Il a pour objectif de faciliter le déploiement d’une application, d’avoir plusieurs versions de celle-ci et également d’automatiser son packaging tout en gardant un système de base propre.
Alexandre Di Pino nous présentera cette technologie et l’utilisation qu’il en fait dans un contexte de production.
A propos de l’intervenant
Titulaire d’un master en informatique à Epitech, Alexandre travaille au sein de la société InSimo, société développant un moteur physique temps réel pour la simulation médicale. Twitter : @a_dipino / LinkedIn : alexandredipino
Odoo ERP software helps accounting departments process accounts payable, accounts receivable, and payroll. It allows users to create and send professional invoices, receive online payments, and automate payment reminders. The accounting features are connected to other Odoo apps like sales, purchases, inventory, and subscriptions. It supports features like managing charts of accounts, taxes, prices, currencies, payments, bank reconciliation, and generating key financial reports.
Odoo Manufacturing Management helps manufacturers design, manufacture, and distribute products by managing bill of materials, production planning, work order execution, and finished good production. There are two ways to manage manufacturing: without routing/work orders, where all work is done in one step; and with routing/work orders, which provides more granular control by breaking production into individual work orders scheduled at work centers. The manufacturing process with routing involves: 1) creating manufacturing orders; 2) scheduling associated work orders; and 3) performing scheduled work and recording production.
Contenu connexe
Similaire à optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Subject: Oxalide's workshop about an overview of Docker and its ecosystem.
Date: 24-mai-2016
Speakers: Julien Follenfant (@Oxalide), Théo Chamley (@MrTrustor, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-workshop-number-4-docker-des-tours-dans-le-petit-bassin
Lien SlideShare : http://www.slideshare.net/LudovicPiot/workshop-4-docker-des-tours-dans-le-petit-bassin
YouTube Video capture: https://youtu.be/xJuRS6QYAAk
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...adri1s
Premier Meetup Docker sur Nice. A cette occasion nous nous retrouverons dans les locaux d’Epitech Nice pour une conférence suivie d'ateliers.
En partenariat avec :
- Epitech Nice
- Gandi
- Wizishop
http://www.meetup.com/Docker-Nice/events/222345639/
1. DOCKER VS VM
2. CONSTRUIRE MANUELLEMENT UNE IMAGE PHP7
3. LANCER SCRIPT PHP 7 EN MODE CONSOLE VIA DOCKER
4. LANCER SCRIPT PHP 7 EN MODE WEB VIA DOCKER
5. AUTOMATISER LE BUILD D’UNE IMAGE DOCKER
6. ORCHESTRER LES CONTAINERS
7. LOAD BALANCER 2 CONTAINERS WEB
8. UTILISER LES IMAGES DE LA COMMUNAUTÉ
-------
1. DOCKER VS VM
2. MANUALLY BUILD A PHP7 IMAGE
3. START SCRIPT PHP 7 IN CONSOLE MODE VIA DOCKER
4. LAUNCH SCRIPT PHP 7 IN WEB MODE VIA DOCKER
5. AUTOMATING THE BUILD OF A DOCKER IMAGE
6. ORCHESTRATING CONTAINERS
7. LOAD BALANCEOR 2 WEB CONTAINERS
8. USER IMAGES OF THE COMMUNITY
Bien que Docker soit facile d'utilisation, construire une image reste un exercice compliqué.
Optimisation, layers, et sécurité nécessitent de s'abstraire des Dockerfile basiques qu'on peut trouver sur internet.
Dans ce BBL, nous verrons comment bien packager une application Spring Boot dans une image Docker/OCI.
Nous allons parcourir les bonnes pratiques préconisées par Spring, les pièges à éviter, comment bien écrire un Dockerfile pour optimiser la construction et l'image finale pour une exécution dans Kubernetes et nous verrons aussi des moyens alternatifs de construction d'images Spring Boot et l'outillage d'analyse à ajouter à votre toolbox.
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
Cette présentation s'adresse aussi bien aux débutants qu'aux utilisateurs de Docker cherchant à en découvrir de nouveaux aspects.
- caractéristiques de Docker et écosystème
- cas d'usage : création d’environnement automatisé pour le développement, déploiement et orchestration de conteneurs, Docker sous Windows
Présentation donnée dans le cadre du Festival Transfo 2019 http://www.festival-transfo.fr/evenement/145/14-docker-un-outil-pour-faciliter-le-developpement-et-le-deploiement-informatique.htm
Rejoindre le meetup des Matinales techniques de Sogilis : https://www.meetup.com/Les-matinales-techniques-de-Sogilis
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Il a pour objectif de faciliter le déploiement d’une application, d’avoir plusieurs versions de celle-ci et également d’automatiser son packaging tout en gardant un système de base propre.
Alexandre Di Pino nous présentera cette technologie et l’utilisation qu’il en fait dans un contexte de production.
A propos de l’intervenant
Titulaire d’un master en informatique à Epitech, Alexandre travaille au sein de la société InSimo, société développant un moteur physique temps réel pour la simulation médicale. Twitter : @a_dipino / LinkedIn : alexandredipino
Odoo ERP software helps accounting departments process accounts payable, accounts receivable, and payroll. It allows users to create and send professional invoices, receive online payments, and automate payment reminders. The accounting features are connected to other Odoo apps like sales, purchases, inventory, and subscriptions. It supports features like managing charts of accounts, taxes, prices, currencies, payments, bank reconciliation, and generating key financial reports.
Odoo Manufacturing Management helps manufacturers design, manufacture, and distribute products by managing bill of materials, production planning, work order execution, and finished good production. There are two ways to manage manufacturing: without routing/work orders, where all work is done in one step; and with routing/work orders, which provides more granular control by breaking production into individual work orders scheduled at work centers. The manufacturing process with routing involves: 1) creating manufacturing orders; 2) scheduling associated work orders; and 3) performing scheduled work and recording production.
Employees in service companies use timesheets to track the time they spend each day working on different projects and clients. They add a line to their timesheet for each new project or task, noting the time spent. At the end of the day, all the time worked must be accounted for. The timesheet system allows employees to enter as many hours as they actually work each day rather than controlling hours. It helps management track task allocation and costs. Odoo Timesheet Management software provides features like approving timesheets, managing activities and employees, monitoring performance by project or task, and automatically invoicing based on hours worked.
Odoo Employee Management helps manage HR functions like recruitment, employee data, contracts, and ensures everyday HR processes are easy to access. It helps track employee details like job title, salary, leave, attendance, and timesheets effectively to generate monthly payrolls. Odoo allows information to be easily scanned and assembled across departments while setting privileges over data distribution among HR and staff. The system takes care of all human resource aspects with notifications for new leave requests and appraisals for transparent internal communication.
Odoo Expense Management allows employees to record and submit expenses with attached receipts. Managers can then quickly approve or reject expense submissions with reasons. Approved expenses are sent to accountants to record in the books and process invoices and payments, while providing notifications. It offers features for recording expenses, attaching receipts, submitting expenses for review, tracking submission status, reviewing, approving or rejecting submissions, and generating expense reports.
Odoo Project Management helps manage projects, tasks, resources, budgets, and costs. It allows viewing scheduled tasks in Gantt and calendar views. Users can work on tasks and issues using Kanban or list views. Odoo Task Management helps track tasks with different stages and allows collaboration between employees and customers to complete tasks on time. The software features include managing project templates, stages, stakeholders, budgets, resource assignments, forecasts, documents, and dashboards as well as generating analysis reports.
Dans un contexte où la transmission et l'installation d'agriculteurs sont des enjeux cruciaux pour la profession agricole, de nouveaux agriculteurs s'installent chaque année et, parmi eux, certains Bac+5 ou plus. Les cursus des écoles d'ingénieurs n'ont pas vocation à former de futurs agriculteurs. Pourtant, certains apprenants ayant suivi ces cursus BAC + 5, qu'ils soient ou non issus du milieu agricole, tentent l'aventure de l'entrepreneuriat agricole. Qui sont-ils ? Quelles sont leurs motivations et visions ? Comment travaillent-ils ?
Comprendre le vote aux élections européennes du 9 juin 2024
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
1. 1/7
12 septembre 2019
Comment exécuter Postgres sur Docker partie 1
optimadata.nl/blogs/3/n8dyr5-how-to-run-postgres-on-docker-part-1
Craig Healey 12-09-2019 2:57
Catégories: Blog, PostgreSQL
En tant qu’administrateur de base de données multiplateforme, je passe beaucoup de
temps à me familiariser avec les dernières fonctionnalités disponibles sur une variété de
bases de données open source et propriétaires. J’utilise généralement des images
VirtualBox pour créer mes bases de données sandbox, mais elles peuvent occuper
beaucoup d’espace disque et de ressources. Surtout si je joue avec des choses comme les
solutions de clustering de bases de données, lorsque j’ai besoin de plusieurs bases de
données exécutées ensemble. Donc, l’autre jour, j’ai pensé à utiliser des conteneurs
Docker.
Docker est nommé d’après les conteneurs que vous voyez sur les navires. Il assure la
normalisation, comme dans le secteur des transports, en choisissant un mode de
transport unique. Docker est un framework open source qui permet d’empaqueter une
application et/ou une base de données dans un conteneur léger et portable. Cela rend
l’installation d’une application sur un serveur aussi simple que l’installation d’une
application mobile sur votre tablette ou votre smartphone.
Tous les composants requis sont intégrés dans un conteneur. En utilisant des conteneurs,
les ressources peuvent être isolées, l’accès aux services restreint et les processus affectés,
de sorte que vous pouvez indiquer exactement quelle quantité, par exemple, de CPU, de
mémoire ou de charge d’E/S peut être utilisée par un conteneur.
Dans ce blog, j’explique comment créer un conteneur PostgreSQL Docker en 7 étapes.
Par où commencer?
Il existe des dizaines de bases de données disponibles sur Docker’s Hub (un croisement
entre GitHub et Google Play Store), Oracle, SQL Server, Postgres, MariaDB, MySQL,
Mongo et plus encore. Et vous pouvez les obtenir dans une variété de versions, de la
dernière version bêta aux versions héritées. De plus, les conteneurs font partie de
l’ensemble Microservices Architecture que DevOps continue de parler, et conduit
inévitablement à parler de Kubernetes.
Qui ne veut pas apprendre une technologie complètement différente avant de pouvoir
commencer à jouer avec une toute nouvelle fonctionnalité de base de données? OK, peut-
être pas toute la pile Docker, Docker Compose, Kubernetes. Mais Docker lui-même est
relativement simple. Permettez-moi de démontrer en faisant tourner quelques conteneurs
PostgreSQL sur un ordinateur portable Windows.
2. 2/7
ÉTAPE 1: Télécharger Docker
Vous voulez d’abord télécharger Docker. Vous avez le choix ici entre le dernier Docker
Desktop pour Windows, qui vous oblige à avoir un compte Docker Hub gratuit et
désactive VirtualBox pour fonctionner, ou l’ancien Docker Toolbox. Je ne veux pas jouer
avec mes images VirtualBox existantes, alors allons-y avec Docker Toolbox.
Téléchargez le fichier exe à partir de https://github.com/docker/toolbox/releases et
exécutez-le. L’installation par défaut inclut une ancienne version de VirtualBox, ainsi que
Git pour Windows. Si vous avez une nouvelle version de VirtualBox, ignorez-la. Sur mon
système, l’installateur détecte Git mais pas VirtualBox. Une fois terminé, vous pouvez
afficher les 2 raccourcis qu’il crée - Docker Quickstart Terminal (ligne de commande) et
Kitematic (GUI).
ÉTAPE 2 : Exécuter le terminal de démarrage rapide Docker
Si vous avez VirtualBox ouvert, vous remarquerez qu’il a créé une nouvelle machine
appelée default. Sous Windows, au moins dans la version boîte à outils, tout est exécuté à
l’intérieur de cette machine VirtualBox. Après un certain temps, la configuration initiale
se termine et vous devriez voir une image ASCII d’un baleine, une note vous informant de
la machine par défaut et de son adresse IP, ainsi qu’un shell interactif. Notez l’adresse IP,
elle vous sera utile plus tard.
ÉTAPE 3 : Mon premier conteneur
Alors maintenant que vous avez Docker en cours d’exécution, vous pouvez également
exécuter l’interface graphique. Cliquez sur Kitematic, et s’il est écrit, « Nous n’avons pas
pu trouver une configuration native... », choisissez « utiliser VirtualBox ». Ensuite,
ignorez l’écran « Se connecter à Docker Hub » et diverses images Docker recommandées
s’affichent. Vous pouvez rechercher toutes les images disponibles sur Docker Hub. Il
existe plus d’une douzaine de catégories, telles que les systèmes d’exploitation, les outils
DevOps, les bases de données et les langages de programmation. Ils ont même des
serveurs de médias et des clients Twitter.
3. 3/7
Le Terminal et Kitematic vérifient s’il y a une machine VirtualBox par défaut disponible,
et s’il n’y en a pas, ils en créent une. Ainsi, vous pouvez supprimer la machine VirtualBox
et recommencer. Mais attention, car toutes les informations de votre conteneur se
trouvent sur cette machine. Pas de problème si vous ne faites que déconner, mais si vous
avez passé du temps à construire de nombreux conteneurs, vous voudrez peut-être avoir
un instantané de votre machine.
ÉTAPE 4: Sélectionnez l’image PostgreSQL
Dans la zone de recherche en haut de Kitematic, tapez postgres. Vous verrez beaucoup
d’images disponibles. Nous allons utiliser la première, qui est l’image officielle de
postgres. Cliquez sur les trois points à gauche de « créer » et sélectionnez « afficher sur
Docker Hub ». Une fenêtre de navigateur s’ouvre. Si vous faites défiler jusqu’à la section
« Comment utiliser cette image », vous verrez
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -
d postgres
Tapez (ou copiez et collez) ceci dans la fenêtre Terminal, en prenant soin d’utiliser deux
signes moins avant « nom », puis appuyez sur Retour. Il dira « impossible de trouver
l’image 'postgres:latest' localement », et il continuera à télécharger et extraire de
nombreux fichiers. Quand il est terminé, il devrait renvoyer une ligne sha256, une ligne
Status et un hachage.
4. 4/7
ÉTAPE 5 : Testez votre conteneur
Félicitations, vous avez créé votre premier conteneur !
Cependant, dans son état actuel, il est assez inutile. Nous devons pouvoir accéder au
conteneur afin d’exécuter des commandes SQL à partir de psql. Mais d’abord, vérifions
que cela fonctionne. Type
docker ps
Cela renverra un ID de conteneur (les 12 premiers caractères du hachage), le nom de
l’image (dans ce cas, postgres), la commande, created, status, les ports et le nom du
conteneur (some-postgres).
ÉTAPE 6: Connexion via EXEC
Donc, maintenant, nous devons nous connecter au conteneur, afin de faire du travail.
Tapez ce qui suit
docker exec -it some-postgres bash
Nous avons maintenant un accès root au
conteneur. Notez l’ID du conteneur dans
l’invite de commandes. Pour accéder à
postgres, vous devez passer à l’utilisateur 'postgres', puis exécuter psql. Pour quitter psql,
tapez q
su postgres
psql
5. 5/7
conninfo
q
Tapez exit une fois de plus, et vous quittez la session interactive dans laquelle vous étiez et
revenez au terminal Docker. Pour vérifier que le conteneur est toujours en cours
d’exécution et que vous n’avez effectivement quitté qu’une session interactive, tapez
docker ps
ÉTAPE 7: GUI PgAdmin
Vous verrez que le statut de votre conteneur some-postgres est toujours actif.
C’est la ligne de commande postgreSQL, mais qu’en est-il de l’utilisation d’un outil
graphique tel que pgAdmin? Si vous n’en avez pas de copie, vous pouvez la télécharger à
partir de https://www.pgadmin.org/
Exécutez-le et créez un nouveau serveur.
Donnez-lui un nom dans l’onglet général et
cliquez sur l’onglet « Connexion ».
Renseignez le nom d’hôte / l’adresse avec
l’adresse IP de la machine par défaut
lorsque vous avez exécuté Terminal pour la
première fois. Notez que cela signifie que
votre conteneur se connecte via la machine
VirtualBox, plutôt que directement.
Renseignez le mot de passe en tant que
mysecretpassword (qui est ce qu’il a été
défini dans la ligne de commande lorsque
vous avez créé le conteneur).
Sélectionnez Enregistrer le mot de passe et
cliquez sur Enregistrer.
Et ça ne marche pas !
Il manque un indicateur dans la commande de création de conteneur, et c’est très
important pour que pgAdmin fonctionne. C’est la commande port, et elle mappe le port
interne et externe d’un conteneur. Mais d’abord, nous devons nettoyer le premier
6. 6/7
conteneur.
rm
Si vous essayez de réexécuter la commande
d’origine que nous avons utilisée pour créer
le conteneur, vous obtiendrez une erreur
indiquant que le nom du conteneur est toujours utilisé. Donc, pour retirer le conteneur,
arrêtez d’abord le conteneur
docker stop some-postgres
Ensuite, utilisez
docker rm some-postgres
Vous pouvez également utiliser l’indicateur -rm lorsque vous créez un conteneur. De cette
façon, lorsque vous en avez fini, il n’est pas enregistré. Si vous voulez vous débarrasser de
tout, vous pouvez utiliser
docker system prune
Maintenant, réexécutez la commande docker run d’origine, mais cette fois avec -p
5432:5432
docker run --name some-postgres -p 5432:5432 -e
POSTGRES_PASSWORD=mysecretpassword -d postgres
Type
docker ps
pour vérifier qu’il est en cours d’exécution. Vous
remarquerez que cette fois, en plus d’un ID de conteneur
différent, les ports sont légèrement différents.
Maintenant, lorsque vous créez un nouveau serveur dans
pgAdmin, il devrait le trouver sans problème.
FÉLICITATIONS!
Si vous avez suivi toutes ces étapes, vous disposez d’un environnement serveur complet
avec PostgreSQL, emballé dans un conteneur que vous pouvez utiliser n’importe où et
avec n’importe quoi.
Dans la deuxième partie, j’expliquerai certaines des commandes Docker courantes et
examinerai les actions typiques de Docker, telles que la création d’images, de réseaux et
de volumes.
7. 7/7
Comment exécuter Postgres sur Docker (partie 2)
Comment exécuter Postgres sur Docker (partie 3)
Retour à Blogoverview
Réactions (2)
Abdelrahman Moussa 01-08-2022 3:20
Merci! Cet article a été très utile
JUAN 05-04-2020 11:41
excellent tutoriel, j’ai beaucoup aimé, pratique et facile
Réagir