Comment utiliser la commande docker container unpause pour reprendre des conteneurs

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce labo (LabEx), vous apprendrez à gérer l'état des conteneurs Docker, en vous concentrant particulièrement sur leur mise en pause et leur réactivation. Vous commencerez par créer et exécuter un conteneur simple.

Après la création, vous pratiquerez la mise en pause du conteneur en cours d'exécution et vérifierez son état suspendu. Enfin, vous apprendrez comment réactiver le conteneur et confirmer qu'il a repris son exécution. Cette expérience pratique vous permettra de comprendre concrètement l'utilisation de la commande docker container unpause.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555126{{"Comment utiliser la commande docker container unpause pour reprendre des conteneurs"}} docker/ps -.-> lab-555126{{"Comment utiliser la commande docker container unpause pour reprendre des conteneurs"}} docker/start -.-> lab-555126{{"Comment utiliser la commande docker container unpause pour reprendre des conteneurs"}} docker/stop -.-> lab-555126{{"Comment utiliser la commande docker container unpause pour reprendre des conteneurs"}} docker/rm -.-> lab-555126{{"Comment utiliser la commande docker container unpause pour reprendre des conteneurs"}} docker/pull -.-> lab-555126{{"Comment utiliser la commande docker container unpause pour reprendre des conteneurs"}} end

Créer et exécuter un conteneur

Dans cette étape, vous apprendrez à créer et exécuter un conteneur Docker. Un conteneur est une unité logicielle standard qui empaquette du code et toutes ses dépendances afin que l'application s'exécute rapidement et de manière fiable d'un environnement informatique à un autre.

Commencez par télécharger une image simple depuis Docker Hub. Nous utiliserons l'image hello-world, une image très légère utilisée pour tester les installations Docker.

docker pull hello-world

Vous devriez voir une sortie indiquant que l'image est en cours de téléchargement et d'extraction.

Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

Maintenant que nous avons l'image, nous pouvons exécuter un conteneur basé sur celle-ci. Lorsque vous exécutez un conteneur à partir de l'image hello-world, Docker affiche simplement un message dans votre terminal puis se termine.

docker run hello-world

Vous devriez voir une sortie similaire à ceci, confirmant que votre installation Docker fonctionne correctement :

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (If you already had the image locally, skipped the pull step.)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Cette commande a créé et exécuté un conteneur à partir de l'image hello-world. Comme le rôle du conteneur était simplement d'afficher un message et de se terminer, il n'est plus en cours d'exécution.

Mettre en pause un conteneur en cours d'exécution

Dans l'étape précédente, nous avons exécuté un conteneur simple qui s'est immédiatement terminé. Pour démontrer les fonctionnalités de mise en pause et de reprise, nous avons besoin d'un conteneur qui reste actif. Nous utiliserons un conteneur ubuntu simple et le maintiendrons en fonctionnement en arrière-plan.

Commencez par télécharger l'image ubuntu.

docker pull ubuntu

Vous devriez voir une sortie indiquant que l'image est en cours de téléchargement et d'extraction.

Using default tag: latest
latest: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

Maintenant, exécutons un conteneur ubuntu en mode détaché (-d) pour qu'il fonctionne en arrière-plan. Nous lui attribuerons également un nom (my-ubuntu) pour faciliter sa référence. Nous utiliserons la commande tail -f /dev/null pour maintenir le conteneur actif indéfiniment.

docker run -d --name my-ubuntu ubuntu tail -f /dev/null

Cette commande affichera l'ID du conteneur.

<container_id>

Vous pouvez vérifier que le conteneur est en cours d'exécution avec la commande docker ps.

docker ps

Vous devriez voir une sortie similaire à celle-ci, montrant votre conteneur my-ubuntu avec un statut Up.

CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X seconds ago   Up X seconds             my-ubuntu

Maintenant que nous avons un conteneur actif, nous pouvons le mettre en pause en utilisant la commande docker pause suivie du nom ou de l'ID du conteneur.

docker pause my-ubuntu

Si la commande réussit, il n'y aura aucune sortie. Le conteneur est maintenant en pause.

Vérifier que le conteneur est en pause

À l'étape précédente, nous avons mis en pause le conteneur my-ubuntu. Vérifions maintenant que le conteneur est bien dans un état de pause.

Nous pouvons à nouveau utiliser la commande docker ps pour vérifier l'état des conteneurs en cours d'exécution.

docker ps

Cette commande n'affiche que les conteneurs actuellement en cours d'exécution. Comme nous avons mis en pause le conteneur my-ubuntu, il ne devrait pas apparaître dans la sortie de docker ps.

CONTAINER ID   IMAGE     COMMAND    CREATED    STATUS    PORTS     NAMES

Pour voir tous les conteneurs, y compris ceux qui sont arrêtés, terminés ou en pause, nous pouvons utiliser l'option -a avec docker ps.

docker ps -a

Vous devriez maintenant voir le conteneur my-ubuntu listé, avec son statut indiquant qu'il est en pause. Recherchez le mot Paused dans la colonne STATUS.

CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS                   PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X minutes ago   Up X minutes (Paused)             my-ubuntu

Le statut (Paused) confirme que le conteneur n'est pas activement en cours d'exécution mais reste en mémoire, prêt à être relancé.

Reprendre le conteneur en pause

Dans l'étape précédente, nous avons vérifié que le conteneur my-ubuntu était en pause. Maintenant, reprenons son exécution.

Pour relancer un conteneur en pause, nous utilisons la commande docker unpause suivie du nom ou de l'ID du conteneur.

docker unpause my-ubuntu

Si la commande réussit, il n'y aura aucune sortie. Le conteneur devrait maintenant être de nouveau en cours d'exécution à partir de l'état où il avait été mis en pause.

Vérifier que le conteneur est de nouveau en cours d'exécution

Dans l'étape précédente, nous avons repris le conteneur my-ubuntu. Vérifions maintenant qu'il est bien actif à nouveau.

Nous pouvons utiliser la commande docker ps pour lister les conteneurs actuellement en cours d'exécution.

docker ps

Cette fois, le conteneur my-ubuntu devrait apparaître dans la sortie, avec le statut Up.

CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X minutes ago   Up X seconds             my-ubuntu

Le statut Up indique que le conteneur est en cours d'exécution et que ses processus sont actifs.

Pour confirmer davantage, nous pouvons également utiliser docker ps -a et vérifier le statut. Il devrait afficher Up sans l'indicateur (Paused).

docker ps -a
CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X minutes ago   Up X seconds             my-ubuntu

Ceci confirme que le conteneur a bien repris son exécution depuis son état de pause.

Enfin, nettoyons le conteneur que nous avons créé. Nous devons d'abord l'arrêter, puis le supprimer.

docker stop my-ubuntu

Cette commande arrêtera le conteneur. Vous devriez voir le nom ou l'ID du conteneur s'afficher.

my-ubuntu

Maintenant, supprimez le conteneur avec la commande docker rm.

docker rm my-ubuntu

Cette commande supprimera le conteneur. Vous devriez voir le nom ou l'ID du conteneur s'afficher.

my-ubuntu

Résumé

Dans ce labo, vous avez appris à créer et exécuter un conteneur Docker en téléchargeant l'image hello-world et en la lançant. Cela a démontré le processus fondamental d'obtention d'une image et de démarrage d'un conteneur à partir de celle-ci. Vous avez ensuite appris à mettre en pause un conteneur en cours d'exécution, suspendant ainsi ses processus, et à vérifier son état de pause. Enfin, vous avez pratiqué la reprise du conteneur pour continuer son exécution et confirmé qu'il fonctionnait à nouveau.