technique:dockerphpmyadmin

Créer 2 conteneurs : un avec MariaDB (mysql) et l'autre avec phpmyadmin

Désinstaller anciennes versions:

sudo apt-get remove docker docker-engine docker.io containerd runc

Vérifier que le système est à jour:

sudo apt-get update
sudo apt-get upgrade

Installation des paquets nécessaires pour que “apt” utilise le dépôt via HTTPS

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Ajouter la clé GPG du référentiel Docker (la signature du dépôt) au système :

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Ajouter le dépôt :

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Ne pas oublier de mettre à jour la base de données de paquets

sudo apt-get update

Installation docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io

Vérifier l'état du service:

systemctl status docker
apt install docker.io
adduser monuser docker
docker images # voir les images disponibles
docker pull monimage # télécharger une image
docker rmi monimage # supprimer une image
docker ps -a # voir les conteneurs et leur état
docker run --name nomconteneur -d monimage # lance le conteneur + /bin/bash pour avoir la main dessus
docker stop nomconteneur # stopper son conteneur
docker start nomconteneur # démarrer
docker exec -i -t nomconteneur /bin/bash # reprend la main sur le conteneur (en root !)

Copier un fichier de l'extérieur vers le docker

docker exec -i moncontainer /bin/bash -c 'cat> /inside-container-file' <fichier-exterieur
# ou
cat /fichier-exterieur | docker exec -i moncontainer /bin/bash -c 'cat> /inside-container-file'

Copier un fichier du docker vers l'extérieur :

docker cp <containerId>:/chemin/depuis/container /hote/destination

Doc : https://mariadb.com/kb/en/library/installing-and-using-mariadb-via-docker/

Pour les tests depuis le client :

apt install mariadb-client-core-10.1
docker pull mariadb
docker run --name mariadbtest -e MYSQL_ROOT_PASSWORD=azazaz -d mariadb
docker ps -a

→ OK, ça tourne !

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mariadbtest

On récupère l'IP du conteneur mariadb : 172.17.0.2

mysql -h 172.17.0.2 -u root -p

ok, ça roule, on se connecte.

show databases;
create database mabase;
exit

On a une base Mariad DB accessible en console, c'est cool.

https://github.com/phpmyadmin/docker

docker pull phpmyadmin/phpmyadmin
docker ps
docker run --name myadmin -d -e PMA_HOST=172.17.0.2  -p 8080:80 phpmyadmin/phpmyadmin

Et yolo : http://localhost:8080 : Bingo !
Et mabase est là !

Pour tout stopper :

docker stop myadmin mariadbtest

Et tout relancer :

docker start myadmin mariadbtest

Au cas où le myadminsql ne serait pas sur la bonne IP, on peut effacer le container et le récréer puisque ce n'est qu'un conteneur de Phpmyadmin qui ne contient rien.

  • technique/dockerphpmyadmin.txt
  • Dernière modification: 2020/09/28 11:38
  • de francoisa