Exécution de conteneurs à partir d'images
Maintenant que vous avez téléchargé des images Docker, apprenons à créer et à exécuter des conteneurs basés sur ces images.
Exécution d'un conteneur de base
Pour exécuter un conteneur à partir d'une image, utilisez la commande docker run
:
docker run ubuntu echo "Hello from Docker"
Cette commande :
- Crée un nouveau conteneur basé sur l'image Ubuntu
- Exécute la commande
echo "Hello from Docker"
à l'intérieur du conteneur
- Quitte après l'exécution de la commande
Vous devriez voir la sortie :
Hello from Docker
Exécution d'un conteneur interactif
Pour interagir avec un conteneur, utilisez les flags -it
(terminal interactif) :
docker run -it ubuntu bash
Cela démarre un shell bash à l'intérieur du conteneur. Vous êtes maintenant effectivement "à l'intérieur" du conteneur et pouvez exécuter des commandes.
Essayez quelques commandes :
ls
cat /etc/os-release
Pour quitter le conteneur, tapez :
exit
Lister les conteneurs en cours d'exécution
Pour voir tous les conteneurs en cours d'exécution :
docker ps
Étant donné que nos conteneurs se sont arrêtés immédiatement après l'exécution, vous pourriez ne voir aucune sortie. Pour voir tous les conteneurs, y compris ceux qui sont arrêtés :
docker ps -a
Cela affiche tous les conteneurs, leur statut et quand ils ont été créés/arrêtés.
Cycle de vie d'un conteneur (Container Lifecycle)
Les conteneurs ont un cycle de vie :
- Created (Créé) : Le conteneur est créé mais non démarré
- Running (En cours d'exécution) : Le conteneur est en cours d'exécution
- Paused (En pause) : L'exécution du conteneur est en pause
- Stopped (Arrêté) : Le conteneur s'est arrêté mais existe toujours
- Removed (Supprimé) : Le conteneur est supprimé
Vous pouvez supprimer un conteneur arrêté avec :
docker rm <container_id>
Remplacez <container_id>
par l'ID affiché dans la sortie de docker ps -a
.
Pour supprimer automatiquement un conteneur après son arrêt, utilisez le flag --rm
:
docker run --rm ubuntu echo "This container will be removed after execution"
Exécution d'un conteneur de serveur web
Essayons quelque chose de plus pratique en exécutant un serveur web Nginx :
docker pull nginx:alpine
Cela extrait une image Nginx légère basée sur Alpine Linux.
Maintenant, exécutez un conteneur qui mappe le port 8080 sur votre hôte vers le port 80 dans le conteneur :
docker run -d -p 8080:80 --name my-nginx nginx:alpine
Cette commande :
-d
: Exécute le conteneur en mode détaché (arrière-plan)
-p 8080:80
: Mappe le port 8080 sur votre hôte vers le port 80 dans le conteneur
--name my-nginx
: Nomme le conteneur "my-nginx"
Vous pouvez maintenant accéder à la page d'accueil Nginx en naviguant vers http://localhost:8080
dans un navigateur web, ou en utilisant curl :
curl http://localhost:8080
Vous devriez voir le contenu HTML de la page d'accueil Nginx.
Pour arrêter et supprimer ce conteneur :
docker stop my-nginx
docker rm my-nginx