Découvrir DOCKER

Installation de Docker
Pour Windows Server 2022, 2019,2016:
https://docs.microsoft.com/fr-fr/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server
Pour les Desktop Windows :
https://docs.microsoft.com/fr-fr/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-10-and-11
Pour Linux Famille Debian :
apt install docker.io
Pour Linux Famille CentOS :
## On supprime les éventuelles anciennes versions de Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
## On ajoute le repo pour Docker
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
## On installe ensuite la dernière version de Docker engine
sudo yum install docker-ce docker-ce-cli containerd.io --allowerasing
Qu’est-ce qu’une image Docker?
Une image Docker est un fichier immuable, qui constitue une capture instantanée d’un conteneur. Généralement, les images sont créées avec la commande « docker build ». Et puis, ils vont produire un conteneur quand ils sont lancés avec la commande « run ». En revanche, dans un registre Docker, les images sont stockées comme « registry.hub.docker.com ». Comme elles peuvent devenir assez volumineuses, les images sont conçues pour composer des couches de d’autres images, ce qui permet d’envoyer une quantité minimale de données lors du transfert des images sur le réseau.
## par defaut "docker hub est installé sur votre machine et vous
## permet de trouver des images de conteneurs installables
Utiliser le Hub

une des images les plus connues et des plus légère est l’image alpine par exemple pour l’installer on fait comme ceci :

La Commande Docker


Installation Images Docker





docker rm nom_du_conteneur
Qu’est-ce qu’un conteneur Docker?
Un conteneur Docker est une instance exécutable d’une image. En utilisant l’API ou la CLI de Docker, nous pouvons créer, démarrer, arrêter, déplacer ou supprimer un conteneur. De manière avantageuse, nous pouvons connecter un conteneur à un ou plusieurs réseaux, y attacher de la mémoire ou créer une nouvelle image sur la base de son état actuel. De plus, il consiste en une image Docker, un environnement d’exécution et un ensemble d’instructions standard.







Monter un volume persistant


Dans ce cas présent si on supprime de maniére brutale le conteneur on va s’apercevoir que l’on perd la modification des datas du site c’est la qu’interviennent les volumes





Docker Volume








Créer une image à partir d’un conteneur



WordPress avec docker-compose
On commence par l’installation de docker-compose
docker-compose --version
Si ça ne fonctionne pas, utilisez cette commande :
#ensuite on installe Curl
apt install curl
#on install Docker-compose :
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
on se rend ds le dossier :
cd /usr/local/bin/
puis on rend le fichier exécutable
chmod +x docker-compose
#on crée un chemin d'accès qui va recevoir le Script docker-compose.yml
mkdir ~/wordpress-compose && cd ~/wordpress-compose
puis
nano docker-compose.yml
Le fichier docker-compose.yml permettra d’aller chercher directement les images dont vous aurez besoin et de les lier entre elles. Modifiez le fichier docker-compose.yml
wordpress:
image: wordpress
links:
- mariadb:mysql
environment:
- WORDPRESS_DB_PASSWORD=password
- WORDPRESS_DB_USER=root
ports:
- "public_ip:80:80"
volumes:
- ./html:/var/www/html
mariadb:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
volumes:
- ./database:/var/lib/mysql
Important : Faites attention à modifier les password utilisateur et adresse ip à renseigner
Ensuite on exécute le script avec
docker-compose up -d
Ensuite, mettez vous dans le répertoire dans lequel vous avez mis le fichier et exécuter la commande suivante.

Voilà c’est terminé ! Maintenant allez sur votre navigateur et entrez votre adresse locale et le port que vous avez utilisé dans le fichier docker-compose.yml.
