J’ai découvert Docker dans le cadre de mon CDI et j’ai trouvé cela fort puissant et pratique.
Puisque nous avons accès à une formation sur Docker, je me suis donc formé. Cette article a donc pour vocation de lister diverses commandes que j’ai jugé utiles et que je pourrai donc avoir à m’en servir de nouveau.
Pour les personnes qui sont sous Windows, je vous conseille vivement d’utiliser Powershell plutôt que CMD. Certaines fonctions marcheront tel que l’utilisation des $ qui permet de pouvoir exploiter le résultat d’une commande dans une autre commande (d’exécuter en quelque sort des commandes imbriquées).
Création de containers : docker container run
docker container run alpine echo hello docker container run --name test_name alpine echo hello
« Alpine » est le nom de l’image à utiliser. Si cette dernière n’est pas présente, alors ça va la télécharger automatiquement.
« echo hello » est la commande à exécuter dans le nouveau container.
« –name » permet de nommer un container. Ce nom pourra être utilisé à la place de son identifiant.
Création de containers : mode interactif
docker container run -ti ubuntu
« -ti » est ce qui doit être ajouté juste après le « run » afin d’avoir accès à un shell interactif qui nous permettra d’exécuter des commandes directement dans le docker.
Création de containers en background
Par défaut, ils sont exécutés en foreground. Il faut donc ajouter une option supplémentaire (-d) pour que le docker puisse tourner en tâche de fond.
Sera retourné l’ID du docker si on souhaite interagir avec.
docker container run -d nginx
Dans cet exemple, un docker est exécuté avec le service nginx.
Création de containers avec mapping de port
Pour pouvoir faire correspondre un port local (8080 dans l’exemple ci-dessous) avec un port du docker (80 dans l’exemple ci-dessous).
docker container run -d -p 8080:80 nginx
On peut alors ouvrir un page internet en local puisque le docker tourne toujours avec le port qu’on a choisi.

Lister les containers (ou les images) existants
docker container ls -a docker image ls
Par défaut, est affiché uniquement les containers qui tournent encore. Pour afficher afficher aussi ceux qui sont arrêtés, il faut ajouter « -a ».

Prendre la main sur un container actif
La commande ci-dessous va permettre d’exécuter un shell en mode intéractif afin de prendre le contrôle du container, qui, par exemple, tourne en tâche de fond.
docker container exec -ti CONTAINER_ID sh
« CONTAINER_ID » doit être remplacé par l’identifiant du container.
Arrêter un container
Une simple commande en spécifiant l’ID du container permet d’arrêter (pas de supprimer) le container en question.
docker container stop CONTAINER_ID
Pour la suppression (d’un container ou d’une image), il faut utiliser une autre commande.
docker container rm CONTAINER_ID docker image rm IMAGE_ID
Démarrer un container
Si le container n’a pas été démarré en tâche de fond, normalement il se terminera automatiquement une fois la commande exécutée. Il ne sera donc pas possible d’y prendre la main avant de l’avoir, au préalable, redémarré. Pour cela….
docker container start CONTAINER_ID
Source de l’image principale : https://www.flickr.com/photos/134416355@N07/31775353301
Mes articles sur le développement d'applications vous rendent curieux et vous aimeriez vous aussi vous lancer ? Avant d'acheter une nouvelle licence qui coûte chère, je vous propose avant tout de vous documenter.
Je vous suggère donc les livres suivants :
- WinDev - Les fondamentaux du développement d'applications
- WinDev, WebDev, Windev Mobile - Apprenez à développer à l'aide un cas concret
- Comment créer un logiciel de gestion d'un restaurent de A à Z en WINDEV
Le premier vous apprend les bases du développement Windev et les autres vous proposent des cas concrets afin de vous montrer comment développer en Windev. Tout ce qu'on y apprend est valable pour Windev, Windev Mobile mais aussi Webdev car c'est le même langage.