Introduction
phpMyAdmin est une interface d’administration pour les SGBD Mysql et mariaDB. Nous y accédons avec un navigateur Web. L’interface permet de gérer facilement les bases de données sans connaitre le langage SQL (Structured Query Langage) utilisé pour manipuler des bases de données.
Pour cette installation j’utilise l’image officielle qui est présente ici : https://github.com/phpmyadmin/docker
Remarque : Nous aurons aussi du containeur : MariaDB. Reporter vous à l’articles qui lui est consacré en cliquant sur le lien précédent. |
Remarque : J’ai créé au préalable un utilisateur omdocker (voir l’article création d ‘un utilisateur Docker pour le détail). J’ai créé aussi un répertoire qui contiendra tous mes installations docker. dans ce blog, j’utiliserais pour exemple le chemin /volume/docker. |
Nous allons créer aussi le répertoire phpmyadmin en ligne de commande sur le NAS (connexion en SSH) dans notre répertoire docker : /volume/docker. Cette étape est facultative, le containeur créera le répertoire automatiquement lors du déploiement si celui ci n’existe pas.
$ cd /volume/docker
$ mkdir phpmyadmin
Le fichier de configuration de phpMyAdmin
Si vous souhaitez sécuriser le lancement de ‘phpMyAdmin‘, je vous engage à parcourir l’article securiser docker
Il est importent de bien respecter l’indentation des fichiers de configurations : pas de tabulation. Attention aussi à la version du fichier, il y a des légères évolutions de syntaxe d’une version à l’autre.
Le fichier yml en détails. Il faut remplacer pour votre configuration :
- port 8881 : numéro de port pour accéder à l’interface avec votre navigateur.
- PUID et PGID : celui de votre utilisateur Docker (omdocker pour ce blog),
- TZ : Votre zone de temps,
- PMA_HOST : Le nom de votre containeur mariaDB (pas le nom ou l’adresse IP de votre serveur),
- PMA_PORT : Le port que vous aviez choisis lors de l’installation de mariaDB ( par défaut 3306).
Remarque : Nous avons besoin de communiquer avec la base de données mariaDB. Nous précisons donc que nous utilisons le réseau externe ‘mariadb_default‘ (directive ‘networks‘) et que nous effectuons un lien externe avec le containeur « mariadb » (directive ‘external_links‘). J’utilise la directive ‘labels‘ qui nous indique que ce containeur est surveillé par « Watchtower » (voir l’article Installation de Watchtower en Docker) |
version: "3"
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- 8881:80
external_links:
- mariadb
environment:
- PUID=1003
- PGID=100
- TZ=Europe/Paris
- PMA_HOST=mariadb
- PMA_PORT=3306
- PMA_ARBITRARY=1
labels:
- com.centurylinklabs.watchtower.monitor-only=true
networks:
default:
external:
name: mariadb_default
Vous copiez le contenu de ce fichier dans votre interface de gestion Portainer en allant dans ‘Stacks‘ et ‘Add stack‘.

Donnez un nom à votre pile, par exemple ‘phpmyadmin‘, puis déployer cotre containeur en cliquant en bas sur « Deploy the stack‘.
Après une phase de téléchargement de l’image, puis d’installation de l’application, vous devriez arriver sur cet écran si tout s’est bien passé :

Connexion à MariaDB
Connectez vous maintenant à votre container via le lien : http://votre_ip_local:8881 et vous devriez arriver à la page de connexion.
Vous devez saisir le mot de passe ‘root’ de mariaDB précédemment définis et spécifié le serveur (le nom du containeur), ici « mariadb ». Le champ serveur est facultatif, cela devrait fonctionner en le laissant vide.

Une fois la connexion effectuée, vous devriez arriver sur le tableau de bord du containeur. Nous remarquerons à gauche les bases de données hébergé par le containeur ‘mariadb’ (choix d’un containeur unique pour héberger toutes les bases de données).
