Ceci est une ancienne révision du document !
Créer 2 conteneurs : un avec MariaDB (mysql) et l'autre avec phpmyadmin
Docker
Installation Docker Debian 10
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
Pré-recquis
apt install docker.io adduser monuser docker
Commandes
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 !)
Astuces
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
Mariadb
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.
PhpMyadmin
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.