Tests avec Docker

Introduction
Enfin je me lance sur Docker !
J’étais assez récalcitrant à l’idée de taper simplement une commande sans rien comprendre et que ça fonctionne.
Mais bon, si l’on veut faire du Docker il faut bien commencer par le plus simple…
On va donc voir comment installer Docker et lancer notre premier conteneur.
Pour cet exemple, on lancera Gitea, un service Git autohébergé
avec une interface Web.
Ensuite, on supprimera toutes traces de Gitea
de notre serveur.

Installation de Docker
On va donc suivre la documentation officielle en installant en premier les dépendances.
|
|
On va ensuite ajouter le dépôt de notre Docker.
Pour cela, il faut ajouter la clé GPG pour que notre système
s’assure bien à chaque fois qu’il télécharge depuis le vrai dépôt.
|
|
Ainsi, on ajoute le dépôt des versions stables à notre liste et on met cette dernière à jour.
|
|
Et enfin on peut installer Docker avec l’installation des packages suivants :
|
|
Pour vérifier que Docker est bien installé on peut faire un docker run hello-world
.
Lancement de Gitea
Initialement, cet article utilisait le port 10080
mais cela ne fonctionne plus maintenant.
J’ai donc mis le port 980
à la place et accordé celui
de SSH pour plus de cohérence.
Il semblerait que cela soit dû à l’extension d’une liste
de ports bloqués nativement pas les navigateurs Web.
En effet, ce port est celui utilisé par
AMANDA.
Maintenant que le nécessaire est installé, on va lancer le conteneur Gitea avec la commande suivante :
|
|
-d
: lancement en mode deamon (en arrière-plan)--name=gitea
: le nom donné au conteneur-p 922:22
: mappe le port 922 de l’hôte sur le 22 du conteneur
Le SSH du conteneur sera alors accessible depuis le port 922-p 980:3000
: mappe le port 922 de l’hôte sur le 3000 du conteneur
Sert ici pour l’accès à l’interface Web-v /var/lib/gitea:/data
: mappe le dossier/var/lib/gitea
de l’hôte sur le dossier/data
du conteneur
Si ce dossier n’existe pas sur votre machine, il faut le créer !gitea/gitea:latest
: nom de référence de l’image hébergée sur Docker Hub dans sa dernière version
L’image de Gitea va donc être téléchargée sur le Docker Hub et lancée sur notre machine.
Une fois que le prompt nous a rendu la main, on peut se rendre sur notre navigateur en
renseignant l’adresse de notre machine et en spécifiant le port “externe” 980.
Ayant fait ce tutoriel sur un Ubuntu Desktop, j’y accède depuis son navigateur
avec l’URL http://localhost:980
:
Sur Gitea, en cliquant sur le bouton de connexion, on vous demande de renseigner certaines informations.
Vous pouvez laisser tout par défaut, mais n’oubliez pas de créer votre compte administrateur dans la partie
des Paramètres facultatifs !
Une fois votre configuration validée, la page se recharge sur le port interne du conteneur.
Remettez celui de l’hôte et vous serez sur votre GitHub-like !
Effacement de Gitea
Suppression du conteneur
Maintenant qu’on a expérimenté l’utilisation de Docker, on va le stopper et supprimer toutes traces.
Étant donné qu’on lui a donné un nom, on peut le stopper avec la commande docker stop gitea
.
Sinon il faut spécifier l’ID du conteneur qu’on récupère avec un docker container ls
.
On supprime ensuite le conteneur avec docker container rm gitea
.
Suppression de l’image
L’image se supprime avec la commande docker rmi gitea/gitea
.
Si on ne connait pas le nom de l’image, on peut le retrouver
avec un docker images
.
On peut aussi supprimer l’image en utilisant l’ID de l’image.
Suppression des données
Des volumes on pu être créer, on les supprimes avec docker volume prune
.
Les données de Gitea se trouvent aussi sur notre machine hôte dans le dossier /var/lib/gitea
.
On les supprime donc avec un rm -rf /var/lib/gitea
Suppression tous-en-un
Pour stopper, supprimer tous les conteneurs ainsi que toutes les images, on peut exécuter la suite de commande suivante :
|
|
Conclusion
Nous avons donc vu ensemble comment utiliser les bases de Docker
en plus d’une découverte rapide de Gitea.
Comprendre ces bases de Docker va avérer très utile dès que l’on voudra
déployé des conteneurs d’une manière plus complexe.
Le prochain tutoriel sur Docker (quand il viendra 🦥), utilisera docker-compose.
Mes notes sur Docker
Lister les processus Docker :
|
|
Lister/effacer les conteneurs :
|
|
Lister/effacer les images :
|
|
Lister/effacer les volumes :
|
|
Lister les différences entre le conteneur et l’image utilisée :
|
|
Enregistrer l’image modifiée :
|
|
Sauvegarder une image (pour export)
|
|