Exigences:
Afin de suivre cet article, vous devez faire installer Docker sur votre ordinateur. Linuxhint a beaucoup d'articles que vous pouvez suivre pour installer Docker sur la distribution Linux souhaitée si vous ne l'avez pas déjà installé. Alors, assurez-vous de vérifier Linuxhint.com au cas où vous auriez du mal à installer Docker.
Installation de Docker Compose:
Vous pouvez télécharger très facilement Docker Compose Binary File avec la commande suivante:
$ sudo curl -l "https: // github.com / docker / compose / releases / download / 1.24.1/
docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose
NOTE: boucle ne peut pas être installé sur votre distribution Linux. Si tel est le cas, vous pouvez installer Curl avec la commande suivante:
Ubuntu / Debian / Linux Mint:
$ sudo apt install curl -y
Centos / Rhel / Fedora:
$ sudo dnf installer curl -y
Une fois composer docker Le fichier binaire est téléchargé, exécutez la commande suivante:
$ sudo chmod + x / usr / local / bin / docker-compose
Maintenant, vérifiez si composer docker La commande fonctionne comme suit:
$ docker-compose version
Il devrait imprimer les informations de version comme indiqué dans la capture d'écran ci-dessous.
Configuration de Docker Compose pour le projet:
Maintenant, créez un répertoire de projet (disons ~ / docker / pgdev) comme suit:
$ mkdir -p ~ / docker / pgdev
Maintenant, accédez au répertoire du projet ~ / docker / pgdev comme suit:
$ cd ~ / docker / pgdev
Maintenant, créez un composer docker.yaml fichier dans le répertoire de projet ~ / docker / pgdev et tapez dans les lignes suivantes dans le composer docker.yaml déposer.
Version: "3.7"Le composer docker.yaml Le fichier doit ressembler à ce qui suit.
Ici, j'ai créé 2 services db et pgadmin.
db Le service exécutera le Postgres: 12.2 image (de dockerhub) dans un conteneur docker.
pgadmin Le service exécutera le DPAGE / PGADMIN4: 4.18 image (de dockerhub) dans un autre conteneur docker.
Dans db service, le Postgres_db, Postgres_user, Postgres_password Les variables d'environnement sont utilisées pour définir le nom de base de données par défaut, le nom d'utilisateur d'administration et le mot de passe de l'utilisateur de l'administrateur pour le serveur PostgreSQL respectivement. Le Pgdata La variable d'environnement est utilisée pour configurer le serveur PostgreSQL pour stocker les données à / var / lib / postgresql / data répertoire du conteneur.
Dans pgadmin service, le Pgadmin_default_email, Pgadmin_default_password Les variables d'environnement sont utilisées pour définir les e-mails de connexion et le mot de passe de l'interface Web PGADMIN respectivement. Le PGADMIN_LISTEN_PORT est utilisé pour définir le port pgadmin 80 dans le conteneur.
En service db, tout le contenu du / var / lib / postgresql / data Le répertoire sera enregistré en permanence dans le data db volume.
Dans le pgadmin service, tout le contenu du / var / lib / pgadmin Le répertoire sera enregistré en permanence dans le pgadmin-data volume.
Dans le db Service, le port de conteneur 5432 (à droite) est mappé au port d'hôte Docker 5432 (gauche).
Dans le pgadmin Service, le port de conteneur 80 (à droite) est mappé au port d'hôte Docker 8080 (gauche).
Dans le pgadmin Service, un alias de nom d'hôte pgsql-serveur au db Le conteneur est créé. Ainsi, vous pouvez accéder au serveur PostgreSQL en utilisant pgsql-serveur Comme le nom d'hôte (aucune adresse IP requise).
Démarrage du serveur postgresql et pgadmin:
Maintenant, pour démarrer le db et pgadmin services, exécutez la commande suivante:
$ docker-compose up -d
Les services doivent commencer en arrière-plan.
Comme vous pouvez le voir, le port 8080 et 5432 sont ouverts par le docker-proxy service.
$ sudo netstat -tlpn
Pour voir comment les ports sont mappés, exécutez la commande suivante:
$ docker-compose ps
Comme vous pouvez le voir, pour le db Service, le port hôte docker 5432 est mappé au port TCP à conteneur 5432.
Pour le pgadmin Service, le port hôte docker 8080 est mappé au port TCP à conteneur 80.
Accès au serveur PGADMIN 4 ou PostgreSQL à partir d'autres ordinateurs:
Si vous souhaitez accéder à PGADMIN 4 ou au serveur de base de données PostgreSQL à partir d'un autre ordinateur de votre réseau, vous devez connaître l'adresse IP de votre hôte Docker.
Pour trouver l'adresse IP de votre hôte Docker, exécutez la commande suivante:
$ ip
Dans mon cas, l'adresse IP de mon hôte docker 192.168.20.160. Ce sera différent pour vous. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.
Accès à Pgadmin depuis le navigateur Web:
Maintenant, vous pouvez facilement accéder à Pgadmin 4 depuis votre navigateur Web.
Visitez http: // localhost: 8080 de votre hôte docker ou http: // 192.168.20.160: 8080 de n'importe quel ordinateur de votre réseau. Vous devriez voir la page de connexion PGADMIN. Connectez-vous avec votre e-mail et votre mot de passe.
Une fois que vous vous connectez, vous devriez voir le tableau de bord Pgadmin.
Maintenant, pour ajouter le serveur PostgreSQL en cours d'exécution en tant que conteneur Docker, cliquez avec le bouton droit sur Les serveurs, Et puis allez à Créer > Serveur…
Dans le Général onglet, saisissez votre serveur Nom.
Maintenant, allez au Connexion onglet et tapez pgsql-serveur comme Nom / adresse d'hôte, 5432 comme Port, postgres comme Base de données de maintenance, administrer comme Nom d'utilisateur, secret comme Mot de passe et vérifie Enregistrer le mot de passe? cocher. Ensuite, cliquez sur Sauvegarder.
Pgadmin 4 doit être connecté à votre base de données PostgreSQL. Maintenant, vous pouvez travailler avec votre base de données PostgreSQL autant que vous le souhaitez.
Accéder à PostgreSQL depuis DataGrip:
Vous pouvez également accéder à votre serveur de base de données PostgreSQL à partir de Datagrip IDE ou de tout autre IDE SQL.
En cas de datagrip, cliquez sur + du Bases de données section et aller à La source de données > Postgresql.
Le pilote PostgreSQL peut ne pas être installé. Dans ce cas, cliquez sur Télécharger.
Le conducteur doit être installé. Maintenant, saisissez l'adresse IP de l'hôte Docker 192.168.20.160 (dans mon cas) comme le Héberger, 5432 comme le Port, administrer comme le Utilisateur, secret comme le Mot de passe, postgres comme le Base de données et cliquez sur Test de connexion.
Vous devriez voir les détails du serveur de base de données PostgreSQL si tout fonctionne.
Maintenant, cliquez sur D'ACCORD.
Maintenant, vous pouvez gérer vos bases de données PostgreSQL à partir de Datagrip.
Arrêt de Postgresql et Pgadmin:
Maintenant, pour arrêter le db et pgadmin services, exécutez la commande suivante:
$ docker-compose
Le db et pgadmin Les services doivent être arrêtés.
Nettoyage des données postgresql et pgadmin:
Si vous souhaitez supprimer toutes les données et paramètres de la base de données PostgreSQL, et tous les paramètres PGADMIN, vous devez supprimer le data db et pgadmin-data volumes.
Vous pouvez trouver le nom réel des volumes de données avec la commande suivante:
$ volume docker ls
Comme vous pouvez le voir, il y a 2 volumes pour le pgdev projet, pgdev_db-data et pgdev_pgadmin-data.
Vous pouvez supprimer ces volumes avec la commande suivante:
$ docker volume rm pgdev_db-data pgdev_pgadmin-data
Les références:
[1] https: // hub.docker.com / _ / Postgres?Tab = Description
[2] https: // hub.docker.com / r / dpage / pgadmin4 /
[3] https: // www.pgadmin.org / docs / pgadmin4 / dernier / contener_deployment.html