Introduction
En tant qu'administrateur système travaillant avec Red Hat Enterprise Linux (RHEL), la gestion des applications conteneurisées est une compétence fondamentale. Dans ce défi, vous utiliserez les outils en ligne de commande podman et skopeo pour effectuer des tâches essentielles de gestion de conteneurs. Vous vous exercerez à récupérer des images depuis un registre public, à les exécuter en tant que conteneurs, à inspecter leur configuration et à copier des images vers un registre local.
Télécharger et exécuter une image de conteneur
Votre première tâche consiste à télécharger une image de conteneur depuis un registre public et à l'exécuter sur votre système local. Vous utiliserez l'image du serveur web nginx, un choix courant pour démontrer les fonctionnalités des conteneurs.
Tâches
- Téléchargez la dernière image de conteneur
nginxdepuis le registredocker.ioà l'aide de la commandepodman. - Exécutez un conteneur à partir de l'image
nginxet vérifiez qu'il est opérationnel.
Exigences
- Le conteneur
nginxdoit être nommémy-nginx. - Le conteneur doit s'exécuter en arrière-plan (mode détaché).
- Le port
80du conteneur doit être redirigé vers le port8080de votre machine locale.
Exemple
Après avoir exécuté le conteneur avec succès, vous pouvez tester son accessibilité. La commande curl devrait renvoyer la page d'accueil par défaut de Nginx.
$ curl http://localhost:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
</html>
Inspecter un conteneur
Après avoir lancé un conteneur, il est souvent nécessaire de récupérer des informations détaillées sur sa configuration, ses paramètres réseau et ses volumes montés. La commande podman inspect fournit ces informations dans un format JSON structuré.
Tâches
- Inspectez le conteneur
my-nginxen cours d'exécution. - Redirigez le résultat de l'inspection vers un fichier.
Exigences
- Utilisez la commande
podman inspectpour obtenir les détails du conteneurmy-nginx. - Enregistrez la sortie JSON dans un fichier nommé
nginx-inspect.jsonà l'intérieur du répertoire~/project/containers/.
Exemple
Le fichier nginx-inspect.json contiendra un large tableau JSON avec tous les détails de configuration du conteneur. Vous pouvez visualiser son contenu avec la commande cat ou less.
$ cat ~/project/containers/nginx-inspect.json
[
{
"Id": "a933dd...c8e",
"Created": "2023-10-27T10:30:00.123456789Z",
"Path": "/docker-entrypoint.sh",
"Args": [
"nginx",
"-g",
"daemon off;"
],
"State": {
...
Copier une image de conteneur avec Skopeo
skopeo est un outil puissant pour déplacer des images de conteneurs entre différents types de stockage, tels que les registres publics, le stockage local et les registres privés. Dans cette étape, vous allez copier l'image nginx vers un registre de conteneurs local qui s'exécute sur votre machine.
Par défaut, Podman et Skopeo ne pousseront pas d'images vers un registre non sécurisé (HTTP). Vous devez d'abord configurer votre système pour faire confiance au registre local en utilisant le format de configuration de registre moderne v2.
Tâches
- Configurez votre système pour autoriser l'envoi d'images vers le registre local non sécurisé à l'adresse
localhost:5000. - Utilisez
skopeopour copier l'imagenginx:latestdedocker.iovers votre registre local. - Téléchargez l'image depuis votre registre local vers le stockage local de Podman pour vérifier que la copie a réussi.
Exigences
- Modifiez le fichier
/etc/containers/registries.confpour configurerlocalhost:5000comme un registre non sécurisé en utilisant le format v2. Vous aurez besoin des privilègessudopour cela. - Utilisez
skopeo copypour copier l'imagedocker.io/library/nginx:latest. - La destination de l'image dans le registre local doit être
localhost:5000/my-local-nginx:latest. - Après la copie, utilisez
podman pullpour récupérerlocalhost:5000/my-local-nginx:latest.
Résumé
Dans ce défi, vous avez acquis les compétences essentielles pour gérer des conteneurs sur un système Red Hat Enterprise Linux. Vous avez utilisé avec succès podman pour télécharger une image, l'exécuter en tant que conteneur nommé avec redirection de port, et inspecter sa configuration détaillée. De plus, vous avez pratiqué une tâche cruciale en conditions réelles : la configuration d'un registre non sécurisé et l'utilisation de skopeo pour copier une image d'une source publique vers un registre privé local. Ces commandes sont des outils fondamentaux pour tout administrateur système travaillant dans un environnement conteneurisé moderne.



