SlideShare une entreprise Scribd logo
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/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/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/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/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/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
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

Contenu connexe

Similaire à optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf

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
 
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 nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
adri1s
 
A la découverte de docker
A la découverte de dockerA la découverte de docker
A la découverte de docker
jean pasqualini
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
Nicolas Hennion
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
Julien Wittouck
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
Nicolas Muller
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
Olivier Eeckhoutte
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
Thibaut Marmin
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
Khalid ALLILI
 
Docker, ça mange quoi au printemps
Docker, ça mange quoi au printempsDocker, ça mange quoi au printemps
Docker, ça mange quoi au printemps
Julien Maitrehenry
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
Web à Québec
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
AbdellahELMAMOUN
 
Prise en main de Docker
Prise en main de DockerPrise en main de Docker
Prise en main de Docker
BakeliMarketingTeam
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partie
Samuel Desseaux
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
gcatt
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
LeStudioiInteractif
 
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
 
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é
 
Support : introduction à docker
Support : introduction à dockerSupport : introduction à docker
Support : introduction à docker
Boubker ABERWAG
 

Similaire à optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf (20)

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 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 nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
 
A la découverte de docker
A la découverte de dockerA la découverte de docker
A la découverte de docker
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
Docker, ça mange quoi au printemps
Docker, ça mange quoi au printempsDocker, ça mange quoi au printemps
Docker, ça mange quoi au printemps
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
 
Prise en main de Docker
Prise en main de DockerPrise en main de Docker
Prise en main de Docker
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partie
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
 
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
 
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...
 
Support : introduction à docker
Support : introduction à dockerSupport : introduction à docker
Support : introduction à docker
 

Plus de Pascal Ponzoni

tenthplanet.in-Odoo Accounting.pdf
tenthplanet.in-Odoo Accounting.pdftenthplanet.in-Odoo Accounting.pdf
tenthplanet.in-Odoo Accounting.pdf
Pascal Ponzoni
 
tenthplanet.in-Odoo Manufacturing Management.pdf
tenthplanet.in-Odoo Manufacturing Management.pdftenthplanet.in-Odoo Manufacturing Management.pdf
tenthplanet.in-Odoo Manufacturing Management.pdf
Pascal Ponzoni
 
tenthplanet.in-Odoo Timesheet Management.pdf
tenthplanet.in-Odoo Timesheet Management.pdftenthplanet.in-Odoo Timesheet Management.pdf
tenthplanet.in-Odoo Timesheet Management.pdf
Pascal Ponzoni
 
tenthplanet.in-Odoo Employee Management.pdf
tenthplanet.in-Odoo Employee Management.pdftenthplanet.in-Odoo Employee Management.pdf
tenthplanet.in-Odoo Employee Management.pdf
Pascal Ponzoni
 
tenthplanet.in-Odoo Expense Management.pdf
tenthplanet.in-Odoo Expense Management.pdftenthplanet.in-Odoo Expense Management.pdf
tenthplanet.in-Odoo Expense Management.pdf
Pascal Ponzoni
 
tenthplanet.in-Odoo Project Management.pdf
tenthplanet.in-Odoo Project Management.pdftenthplanet.in-Odoo Project Management.pdf
tenthplanet.in-Odoo Project Management.pdf
Pascal Ponzoni
 

Plus de Pascal Ponzoni (6)

tenthplanet.in-Odoo Accounting.pdf
tenthplanet.in-Odoo Accounting.pdftenthplanet.in-Odoo Accounting.pdf
tenthplanet.in-Odoo Accounting.pdf
 
tenthplanet.in-Odoo Manufacturing Management.pdf
tenthplanet.in-Odoo Manufacturing Management.pdftenthplanet.in-Odoo Manufacturing Management.pdf
tenthplanet.in-Odoo Manufacturing Management.pdf
 
tenthplanet.in-Odoo Timesheet Management.pdf
tenthplanet.in-Odoo Timesheet Management.pdftenthplanet.in-Odoo Timesheet Management.pdf
tenthplanet.in-Odoo Timesheet Management.pdf
 
tenthplanet.in-Odoo Employee Management.pdf
tenthplanet.in-Odoo Employee Management.pdftenthplanet.in-Odoo Employee Management.pdf
tenthplanet.in-Odoo Employee Management.pdf
 
tenthplanet.in-Odoo Expense Management.pdf
tenthplanet.in-Odoo Expense Management.pdftenthplanet.in-Odoo Expense Management.pdf
tenthplanet.in-Odoo Expense Management.pdf
 
tenthplanet.in-Odoo Project Management.pdf
tenthplanet.in-Odoo Project Management.pdftenthplanet.in-Odoo Project Management.pdf
tenthplanet.in-Odoo Project Management.pdf
 

Dernier

Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?
Institut de l'Elevage - Idele
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
contact Elabe
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
contact Elabe
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
contact Elabe
 
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdfBarometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Paperjam_redaction
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
contact Elabe
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
contact Elabe
 
Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024
contact Elabe
 

Dernier (8)

Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?Webinaire Qui sont les jeunes installés avec un bac +5 ?
Webinaire Qui sont les jeunes installés avec un bac +5 ?
 
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024Estimations ELABE BFMTV ABSTENTION élections européennes 2024
Estimations ELABE BFMTV ABSTENTION élections européennes 2024
 
Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024Deuxième actualisation estimation élections européennes 2024
Deuxième actualisation estimation élections européennes 2024
 
Estimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABEEstimation élections européennes 2024 ELABE
Estimation élections européennes 2024 ELABE
 
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdfBarometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
Barometre_de_l_Economie_S1_2024_-_BAT__1_.pdf
 
Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024Actualisation estimation élections européennes 2024
Actualisation estimation élections européennes 2024
 
Les Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vagueLes Français et les élections européennes - 9ème vague
Les Français et les élections européennes - 9ème vague
 
Comprendre le vote aux élections européennes du 9 juin 2024
Comprendre le vote aux élections européennes du 9 juin 2024Comprendre le vote aux élections européennes du 9 juin 2024
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