Aller au contenu principal

Utiliser Adminer, pgadmin ou phpmyadmin pour accéder à votre container de base de données Docker

Utilisez Adminer, pgadmin ou phpmyadmin pour accéder à votre container de base de données Docker. Les instructions simples en ligne de commande pour MySQL, MariaDB et PostgreSQL.

· 5 minutes de lecture
Voir la source
Christophe
Amoureux de Markdown, WSL et Docker ~ Curieux insatiable.
Cet article existe aussi en anglais — lire la version originale.

Traduction automatique

Cette traduction a été produite par une IA. Elle peut contenir des contresens ou des maladresses, en particulier sur les termes techniques. En cas de doute, consultez l'article de référence en anglais — c'est lui qui fait foi.

Cet article a plus d'un an, mais il a été relu le 30 juillet 2026 — son contenu est toujours exact.

Utiliser Adminer, pgadmin ou phpmyadmin pour accéder à votre container de base de données Docker

⚡
TL;DR

Cet article montre comment brancher une interface web de gestion de base de données sur un container MySQL/MariaDB/PostgreSQL existant en une seule commande : docker inspect (avec jq) pour trouver le nom du réseau du container, puis docker run --network <net> --link <container>:db -p <port>:<port> adminer (ou phpmyadmin) pour parcourir les tables et les enregistrements sans rien ajouter au compose.yaml d'origine.

Vous avez une application dockerisée et l'un de ses containers est un service MariaDB, MySQL ou PostgreSQL — pensez à ceux démarrés dans Installer rapidement WordPress en seulement trois commandes ou Démarrer Joomla avec Docker en quelques clics.

Votre besoin : démarrer une interface web de gestion de base de données comme Adminer, pgadmin ou phpmyadmin et pouvoir accéder à vos tables et à vos enregistrements.

Cela se fait en une seule ligne de commande.

Une commande, votre base de données dans un navigateur​

Vos valeurs pour cette page
défaut
défaut
défaut
défaut
S'applique aux commandes de cette pageEnregistré uniquement sur cet appareil
>user@machine: ~/yourproject

Rendez-vous sur http://127.0.0.1:8088 et votre base de données est là :

http://127.0.0.1:8088

adminer

Tables, enregistrements, structure, console SQL — et rien n'a été ajouté à votre compose.yaml, rien n'a été installé sur votre machine. Quand vous avez terminé, le container se supprime tout seul grâce à --rm.

Seules deux valeurs de cette commande vous appartiennent : le nom du container qui héberge la base de données, et le nom du réseau sur lequel il tourne. Les deux sont à une commande de distance.

Trouver votre container et son réseau​

Nous allons utiliser docker container list pour obtenir la liste des containers ; on veut juste le nom de l'image et le nom du container.

À titre d'illustration, voici la sortie sur ma machine en ce moment :

>user@machine: ~/yourproject

Pour notre exemple, on veut se connecter au container MySQL 8.x joomla-joomladb-1.

La deuxième chose à déterminer est le nom du réseau utilisé par ce container. On utilise ici docker inspect (lisez mon article Docker inspect - Récupérer les informations réseau).

>user@machine: ~/yourproject
{
"joomla_default": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"joomla-joomladb-1",
"joomladb",
"8bd385bf14c4"
],
[ ... ]
}
}

Le nom du réseau utilisé par joomla-joomladb-1 est donc joomla_default, comme vous le voyez dans le JSON retourné.

Lancer Adminer​

Sous forme de template, la commande Adminer est :

>user@machine: ~/yourproject

Le flag --network doit donc recevoir le nom du réseau utilisé et --link est une valeur en deux parties : le nom du container auquel se connecter, suivi de :db.

Utilisez votre propre port avec le flag `-p`

Dans l'exemple, on rend adminer accessible sur le port 8088. N'hésitez pas à en utiliser un autre, libre.

Sur l'écran de connexion d'Adminer :

  • System : sélectionnez le service de base de données utilisé,
  • Server : doit être le nom du service de base de données à l'intérieur de votre container Docker,
  • Username : le nom de l'utilisateur de la base de données,
  • Password : le mot de passe associé,
  • Database : peut rester vide pour tout obtenir, sinon indiquez le nom de la base à ouvrir.

Pour retrouver le nom du serveur, c'est le nom du service tel que défini dans votre fichier compose.yaml, mais vous pouvez aussi l'obtenir avec cette commande : docker inspect joomla-joomladb-1 | grep com.docker.compose.service. Remplacez simplement joomla-joomladb-1 par le nom de votre container.

Utiliser un lien paramétré

Si vous connaissez déjà certaines de ces valeurs, vous pouvez les fournir dans un lien, comme http://127.0.0.1:8088?server=joomladb&username=root&db=joomla_db.

Lancer pgadmin​

pgadmin est réservé aux bases de données PostgreSQL

Lancer phpmyadmin​

Pour phpmyadmin, la ligne de commande à lancer ressemble à ceci

>user@machine: ~/yourproject

et donc, avec les valeurs de notre exemple,

>user@machine: ~/yourproject

Pour ouvrir phpmyadmin, lancez votre navigateur et allez sur http://127.0.0.1:8089 puisque c'est le port défini ici.

http://127.0.0.1:8089

phpmyadmin

http://127.0.0.1:8089

Liste des bases de données

Conclusion​

Ce qu'il faut retenir : vous n'avez pas à prévoir ça à l'avance. Votre compose.yaml n'a pas besoin d'un service adminer « au cas où » : le jour où vous devez regarder les données, vous attachez une interface au réseau avec un seul docker run, et elle disparaît quand vous l'arrêtez.

Le seul prérequis est de connaître le nom du réseau, et Docker inspect - Récupérer les informations réseau détaille cette commande. Pour une application complète sur laquelle essayer tout ça, voyez Créez votre site Joomla avec Docker.


Cet article vous a-t-il été utile ?
Avez-vous suivi les étapes de cet article ?