Docker

Docker est une plateforme présente sur Linux et Windows, permettant de lancer certaines applications dans des conteneurs. Ces conteneurs permettent de créer un micro-système isolé du système principal. 

Et il se base sur des images que l'on peut créer soi-même ou récupérer sur le dépôt officiel de Docker.

Le dépôt est alimenté soit par des fans de certains programmes, soit par leurs créateurs originaux.

Installation de Docker sur debian

Pour installé docker, j'utilise les commandes donner sur leur site officiel :
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Dans un premier temps, on installe ça-certificates et curl pour pouvoir ajouter le certificat du dépôt Docker et récupérer la clé, rajoute la clé d'identification du dépôt de Docker en lui donnant les droits de lecture, puis on finit par rajouter le dépôt :

image.png

Après la fin du "apt-get update", il nous reste plus qu'à faire :
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
On installe donc tous ce qui est en rapport avec docker, que ce sois son noyau et ces dépendance :

image.png

Pour finir, nous allons faire la commande de base pour vérifier que docker fonctionne :
sudo docker run hello-world
Et on voit que docker fonctionne parfaitement bien :

image.png







Installation d'une web gui, Portainer

Portainer est une interface web pour Docker. Portainer tourne lui-même dans un conteneur et permet une configuration de Docker de façon intuitive.


Dans un premier temps, on va crée le volume persistant qui nous servira pour le conteneur avec cette commande :
docker volume create portainer_data
Voilà le volume créé :

image.png

Puis, on va tappé cette commande :
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:lts
Cette commande permet à Docker de lancer la configuration du conteneur en autorisant les ports 8000 et 9443 à communiquer en dehors du conteneur (-p), de lui donner un nom (--name), de lui ordonner de redémarrer à chaque démarrage (--restart=always), de me définir où se trouveront les fichiers de configuration systèmes et utilisateur (-v) et le nom du dépôt qu'il doit utiliser pour configurer le conteneur (portainer-ce:lts) :

image.png

Un coup de "docker ps" pour vérifier que le conteneur sois bien créé et bien up :

image.png

Pour finir, on accéde à l'interface web en tapant https://adresseip:9443 dans mon cas, 192.168.10.20:9443 :

image.png

Si jamais vous dépassez la limite de temps (environs 2min) pour la première configuration vous devrez éteindre le container docker stop portainer puis le redémarrer docker start portainer.
Vu que c'est la première fois que je me connecte à portainer, pour cela il propose comme "Username" admin que je vais laissé et demandé un mot de passe que je vais rentré puis faire "Create user" :

image.png

Me voilà connecté.

Relier deux instance portainer différente