Découvrir DOCKER

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

aide sur la commande Docker
Aide sur la commande Docker

Installation Images Docker

installation de l’image Alpine
L’image est exécutée puis s’arrête ce qui est tout à fait normal
le ps -a avec les 3 images
on peut lister les images téléchargées comme ceci :
Effacer une image (attention elle ne doit pas être attaché à un conteneur sinon

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.

Même chose avec le mode Detach pour créer un conteneur
On peut faire la même chose avec une image Ubuntu par exemple
ici on est ds le conteneur du Linux
Ici plus réel on crée un conteneur qui se nomme Web d’une image nginx avec une redirection de port sur le port 8080 de la machine hôte.
Résultat sur le navigateur de la machine hôte
Extrait du docker inspect du conteneur web
suite de l’extrait du fichier de config du conteneur web

Monter un volume persistant

Dans un premier temps je vais activer un shell ds mon conteneur pour modifier le stockage de mon serveur nginx (conteneur web precedemment créé)
Je fais un vim de mon fichier de config de nginx pour montrer que j’ai la main (attention l’autocompletion ne fonctionne plus dans les conteneurs)

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

je crée un repertoire /srv/data/nginx sur ma machine locale
je supprime mon conteneur précédent pour en recréer un avec un volume attaché
j’obtiens un forbidden !!! Normal mon repertoire est vide
je crée et édite un index.html
Maintenant si je supprime mon conteneur la data étant stockée sur mon host j’ai toujours mes données

Docker Volume

les commandes de Volume Docker
créer un volume, puis lister les volumes, puis inspecter un volume
créons un volume et unnouveau conteneur sur le 8081 du host avec une image nginx
Vérifions que cela fonctionne !
un petit inspect pour avoir le chemin du volume persistant des datas du nginx
allons dans le nouveau emplacement du host
Modifions le index pour tester
voila une autre façon de monter un volume

Créer une image à partir d’un conteneur

on installe des packages et on parametre la ubuntu .. Puis on retourne sur le host et on fait un docker ps pour avoir le numéro ID de conteneur ..et avec la commande docker commit on transforme le conteneur en image .

WordPress avec docker-compose

On commence par l’installation de docker-compose

docker-compose --version

#on install Docker-compose :

 
apt install libffi-dev libssl-dev python3-dev python3 python3-pip


sudo pip3 install docker-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.

Plus qu’à installer et configurer votre WordPress !

Docker Les Réseaux

Image à partir dun Dockerfile

www.pdf24.org    Envoyer l'article en PDF   
Posted on: 21 décembre 2021tontonfred