Exécutez votre premier conteneur

DockerBeginner
Pratiquer maintenant

Introduction

Bienvenue dans le défi "Exécutez votre premier conteneur" ! Vous avez déjà appris à exécuter le conteneur hello-world. Passons maintenant à l'étape suivante en exécutant un conteneur différent. Dans ce défi, vous utiliserez vos compétences Docker pour démarrer l'image docker/getting-started, qui lance un petit serveur web à l'intérieur d'un conteneur.

Exécuter un nouveau conteneur

Tâches

Votre tâche est simple :

  1. Exécutez un conteneur Docker basé sur l'image docker/getting-started.

Prérequis

Pour réussir ce défi, vous devez :

  1. Utiliser la commande docker run pour démarrer le conteneur.
  2. Utiliser l'image docker/getting-started, qui a été pré-téléchargée pour vous.
  3. Exécuter la commande dans le répertoire ~/project.

Exemple

Lorsque vous exécutez le conteneur avec succès, Docker le lance au premier plan (foreground), de sorte que votre terminal reste attaché aux journaux (logs) du conteneur. Ces journaux proviennent du serveur web Nginx situé à l'intérieur de docker/getting-started.

Ne vous inquiétez pas si vous voyez un message d'avertissement indiquant que le répertoire /docker-entrypoint.d/ n'est pas vide.

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/10/29 09:26:17 [notice] 1#1: using the "epoll" event method
2024/10/29 09:26:17 [notice] 1#1: nginx/1.23.3
2024/10/29 09:26:17 [notice] 1#1: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
2024/10/29 09:26:17 [notice] 1#1: OS: Linux 5.15.0-56-generic
2024/10/29 09:26:17 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024/10/29 09:26:17 [notice] 1#1: start worker processes
2024/10/29 09:26:17 [notice] 1#1: start worker process 31
2024/10/29 09:26:17 [notice] 1#1: start worker process 32

Vous pouvez ouvrir une nouvelle fenêtre de terminal pour vérifier que le conteneur est en cours d'exécution en utilisant la commande docker ps.

docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS          PORTS     NAMES
f3f3b3b3b3b3   docker/getting-started   "/docker-entrypoint.…"   1 minute ago   Up 1 minute   80/tcp   festive_mendel

Remarque : Laissez le premier terminal actif après avoir lancé docker run docker/getting-started. Si vous appuyez sur Ctrl+C ou fermez ce terminal, le conteneur s'arrêtera. Ouvrez un second terminal pour exécuter docker ps, ou utilisez docker run -d docker/getting-started si vous souhaitez que le conteneur s'exécute en arrière-plan.

Résumé

Dans ce défi, vous avez approfondi vos compétences Docker en exécutant un nouveau conteneur. Vous avez utilisé la commande docker run pour démarrer l'image docker/getting-started, qui lance un serveur web à l'intérieur d'un conteneur et affiche ses journaux de démarrage dans le terminal. Vous avez également constaté qu'un conteneur lancé au premier plan maintient le terminal attaché jusqu'à ce que vous l'arrêtiez. Cet exercice renforce les bases du démarrage de conteneurs et de la vérification de leur état avec des commandes Docker telles que docker ps.

✨ Vérifier la solution et pratiquer