Docker-3 Gestion de conteneurs 👨🏿‍💻

Objectifs:
🎯 savoir manipuler ses conteneurs.

Prérequis:
💡 connaître ubuntu.
💡 connaître docker.


logo de docker, outil devops de conteneurisation de services et d'applications.

Dans le chapitre précédent Docker-2 Installation nous avons installé docker sur une machine ubuntu 20.04.02.
Dans le chapitre actuel nous allons créer des images docker, déployer des containers à l'aide de ces dernières, lister les conteneurs en cours d'exécutions ainsi que d'autres commandes utiles pour débuter.

1) Créer un conteneur
Nous allons commencer par créer un conteneur à l'aide d'une image déjà disponible dans dockerhub. Prenons l'image nginx de dockerhub afin de déployer un serveur web.

image docker officielle de nginx sur dockerhub, outil devops de conteneurisation de services et d'applications.

(image ☝🏻) le site nous propose de récupérer l'image sur notre machine à l'aide de la commande 'docker pull nginx'.

1.1) Téléchargez l'image nginx puis lancer un conteneur à l'aide de cette dernière.

sudo docker images;

résultat du docker image avant le pull de l'image docker nginx, outil devops de conteneurisation de services et d'applications.

(image ☝🏻) j'ai des images liées à mon cluster kubernetes mais je n'ai pas d'image nginx.
Vous ne devriez avoir aucun retour par la commande si vous venez tout juste d'intaller docker.

sudo docker pull nginx;

résultat de la commande docker pull nginx, outil devops de conteneurisation de services et d'applications.
sudo docker images;

résultat du docker image après le pull de l'image docker nginx, outil devops de conteneurisation de services et d'applications.

(image ☝🏻) Maintenant nginx apparaît dans ma liste d'images docker.

sudo docker run -d --detach-keys="ctrl-p,ctrl-q" --name=premier-conteneur -h=premier-conteneur nginx;
sudo docker ps | grep premier-conteneur;

résultat des commandes docker run et docker ps, outil devops de conteneurisation de services et d'applications.

(image ☝🏻) Le conteneur premier-conteneur est start.
Détails de la commande précédente:
*** run permet d'exécuter une image docker pour créer un conteneur.
*** -d permet d'être en mode détaché, c'est a dire que le container se lancera en background sans qu'on ai la main sur son terminal.
*** --name=premier-conteneur permet de nommer notre conteneur 'premier conteneur'.
*** -detach-keys="ctrl-p,ctrl-q" permet de définir la méthode d'exit du container.
*** -h=premier-conteneur permet de définir donner 'premier-conteneur' comme hostname au conteneur.
*** nginx est le nom de l'image docker que l'on souhaite exécuter.
*** sudo docker ps: pour lister l'ensemble des conteneurs en cours d'exécution

2) Manager ses conteneurs
- Lister tous ses conteneurs (en cours d'exécution ou en pause)

sudo docker ps -a;

- Inspecter un conteneur

sudo docker inspect premier-conteneur;

- Exécuter un conteneur en pause

sudo docker start premier-conteneur;

- Stopper un conteneur en exécution

sudo docker stop premier-conteneur;

- Supprimer un conteneur (il doit être en pause)

sudo docker rm premier-conteneur;

- Se connecter à un conteneur

sudo docker exec -it premier-conteneur bash;

- Voir les logs d'un conteneur

sudo docker logs premier-conteneur;

(☝🏻) Les commandes précédentes sont valables si comme moi vous avez nommé votre conteneur 'premier-conteneur'.
Sinon il faudra remplacer 'premier-conteneur' par le nom que vous avez donné au votre.

Conclusion:
Nous avons vu pas mal de commandes utiles pour la gestion de ses conteneurs, je vous invite à consulter la documentation officielle de docker pour avoir la liste exhaustive des commandes docker.

Par défaut notre docker est lié au dépôt dockerhub dans le prochain chapitre Docker-4: Gestion des dépôts nous verrons comment se connecter à d'autres dépôts d'images docker.