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 : github.com/phpmyadmin/docker.
Remarque : Nous aurons besoin aussi du containeur MariaDB (voir l’article Installation de MariaDB avec Docker pour le détail).
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.
mkdir phpmyadmin
Le fichier de configuration
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,
- /volume/docker/ : Le chemin qui contient les installations de tous vos containeurs,
- PUID et PGID : celui de votre utilisateur Docker (omdocker chez moi),
- 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).
J’utilise la directive ‘labels‘ qui nous indique que ce containeur est surveillé par ‘Watchtower’ (voir l’article Installation de WatchTower avec Docker pour le détail).
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).