From fcc419782ec9ce2f637fe12259b74e27526d66ac Mon Sep 17 00:00:00 2001 From: Mouhamadou NDIANOR <mouhamadou.ndianor@etu.univ-nantes.fr> Date: Thu, 8 Feb 2024 12:08:24 +0000 Subject: [PATCH] Update README.md --- README.md | 118 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 94 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index fe25ea1..d79e712 100644 --- a/README.md +++ b/README.md @@ -27,59 +27,96 @@ Vous avez deux méthodes pour obtenir de l'aide : En fait en lançant un conteneur, vous avez également récupéré l'image correspondante. - relancez la commande précédente - - podman container run hello-world +``` + podman container run hello-world +``` - avez-vous téléchargé une image avant exécution ? - utilisez la commande `search` pour trouver une image vous fournissant l'utilitaire `ipcalc` (celui de rrvzero) - - podman search ipcalc +``` +podman search ipcalc +``` - documentez vous sur la commande `pull` de podman - - podman help pull +``` +podman help pull +``` - servez vous de cette commande pour télécharger l'image correspondante - - podman pull docker.io/rrvzero/ipcalc -- listez les images présentes - - podman images +``` +podman pull docker.io/rrvzero/ipcalc +``` +- listez les images présentes +``` +podman images +``` - listez les conteneurs (tous) - - podman container list +``` +podman container list +``` - lancez un conteneur `ipcalc` - - podman container run ipcalc +``` +podman container run ipcalc +``` - que se passe-t-il ? - renseignez-vous sur les options `-i` et `-t` - interactif et teletypie - lancez un conteneur `ipcalc` et utilisez la commande `ipcalc` - - podman container run -i -t ipcalc:latest +``` + podman container run -i -t ipcalc:latest +``` - depuis un autre terminal SilverBlue listez les conteneurs - - podman container list +``` + podman container list +``` - stoppez votre conteneur `ipcalc` par son nom +``` - podman stop dream_nash +``` - que s'est-il passé ? - il pourra pas SIGTERM mais il utilisera un SIGKILL pour le tuer - recherchez et lancez un conteneur `httpd` +``` - podman search httpd - podman container run docker.io/library/httpd +``` - stoppez votre conteneur +``` - podman stop awesome_johnson +``` - avez-vous noté la différence entre les deux arrêts ? - oui pour la deuxieme on note aucun probleme SIG - relancez maintenant le conteneur `httpd` en démon +``` - podman restart awesome_johnson +``` - stoppez votre conteneur + ``` - podman stop awesome_johnson +``` - relancez votre conteneur - - podman run awesome_johnson - + ``` + - podman run awesome_johnson +``` ## Commande par défaut - avec la commande `inspect` de podman, identifiez le `PATH` et la commande lancée par défaut + ``` - podman inspect awesome_johnson +``` - lancez un conteneur `ipcalc` non interactif qui exécute la commande - - podman container run -t ipcalc:latest - + + ``` + - podman container run -t ipcalc:latest +``` ## Ports réseaux - utilisez un navigateur pour consultez la page d'accueil du site par défaut (http://127.0.0.1), si votre conteneur httpd est toujours fonctionnel - ceci ne fonctionne pas - consultez la documentation concernant l'option `-p` + ``` - podman help -p +``` - faites correspondre le port 8080 de votre machine au port 80 de votre conteneur + ``` - podman run -p 8080:80 --name serveurweb docker.io/library/httpd +``` - testez - 127.0.0.1:8080 ## Exec @@ -88,21 +125,34 @@ Dans l'exercice précédent, nous avons lancé un serveur web sans le modifier. Nous allons maintenant modifier la page d'accueil du site par défaut - lancez un conteneur `httpd` que vous appelerez `serveurweb` - - podman run -p 8080:80 --name serveurweb docker.io/library/httpd + ``` + - podman run -p 8080:80 --name serveurweb docker.io/library/httpd +``` - renseignez-vous sur la commande `exec` de podman ; en particulier sur les options `-i` et `-t` + ``` - podman search exec +``` - utilisez cette commande pour vous connecter à ce conteneur +``` - podman exec -it serverweb bash +``` - installez `nano` +``` - apt-get update - apt-get install +``` - en sachant que le fichier de configuration du serveur web est : `/usr/local/apache2/conf/httpd.conf`, éditez le fichier renvoyé par défaut, de manière à ce qu'il vous affiche `<h1>Bravo !</h1>` +``` - nano /usr/local/apache2/htdocs/index.html +``` - testez - - 127.0.0.1:8080 +``` + - 127.0.0.1:8080 +``` - stoppez, puis effacez ce conteneur +``` - podman -rm serverweb - +``` ## Volume la manière de faire persister des données plus longtemps que la durée de vie du conteneur consiste à utiliser un **volume**. Un volume est une manière d'associer un répertoire (local dans notre cas) à un conteneur. Cette association peut revêtir deux formes : @@ -111,37 +161,57 @@ la manière de faire persister des données plus longtemps que la durée de vie ### avec une création de volume préalable - consultez la documentation de la commande `volume` de podman - - podman help +``` + - podman help +``` - créez un volume nommé `monvolume` + ``` - podman volume create monvolume -- puis lancez un conteneur `httpd` associant `monvolume` au `DocumentRoot` apache +``` +- puis lancez un conteneur `httpd` associant `monvolume` au `DocumentRoot` apache +``` - podman run -p 8080:80 --name serverVolume -v monvolume:/usr/local/apache2/htdocs docker.io/library/httpd +``` - testez depuis un navigateur - utilisez la sous-commande `inspect` et consultez le contenu du volume +``` - podman inspect monvolume +``` - pouvez-vous éditer le fichier `index.html` présent ? - si on se connecte au volume du conteneur - - nano /usr/local/apache2/htdocs/index.html + ``` + - nano /usr/local/apache2/htdocs/index.html + ``` - stoppez, puis effacez ce conteneur - - podman stop serverVolume - - podman rm serverVolume -- consultez le contenu du volume. Le fichier existe-t-il toujours ? + ``` + - podman stop serverVolume + - podman rm serverVolume + ``` +- consultez le contenu du volume. Le fichier existe-t-il toujours ? - on ne peux le consulter avec inspecter le fichier est supprimmer . - reprenez cette procédure mais créez le fichier `index.html` vous même ### association directe - créez un répertoire `htdocs` + ``` - mkdir htdocs + ``` - puis lancez un conteneur `httpd` associant ce répertoire au `DocumentRoot` apache +``` - podman run -p 8080:80 --name assiociationDirecte -v $(pwd)/htdocs:/usr/local/apache2/htdocs docker.io/library/httpd:latest + ``` - testez depuis un navigateur - placez un fichier `index.html` dans votre répertoire `htdocs` - - echo "Ma santati yalla " > htdocs/index.html +``` + - echo "Ma santati yalla " > htdocs/index.html +``` - testez depuis un navigateur ## Export - exportez votre conteneur précédent dans un fichier tar (commande `export`) +``` - podman export -o association.tar af359821a410 +``` - consultez le fichier obtenu -- GitLab