Skip to content
Snippets Groups Projects
Verified Commit faecc122 authored by iliya.saroukha's avatar iliya.saroukha :first_quarter_moon:
Browse files

feat: ex3 of lab7 done

parent 9cfe63fe
No related branches found
No related tags found
No related merge requests found
Pipeline #31990 passed
...@@ -52,7 +52,7 @@ docker pull fedora:41 ...@@ -52,7 +52,7 @@ docker pull fedora:41
### Exécution du container ### Exécution du container
```bash ```bash
docker run --rm -it fedora:41 /bin/bash docker run --rm -it fedora:41 /bin/bash
``` ```
- Ajout d'un fichier à la racine - Ajout d'un fichier à la racine
...@@ -144,4 +144,122 @@ pour obtenir les mêmes informations (à la place d'utiliser la commande ...@@ -144,4 +144,122 @@ pour obtenir les mêmes informations (à la place d'utiliser la commande
de connaître le chemin exact vers les diverses couches du container. de connaître le chemin exact vers les diverses couches du container.
## Exercice 3
Dans cette exercice on désire modifier un container existant et rendre ces
modifications persistantes en les _"committant"_ dans une nouvelle image.
- Quelle est la version la plus récente de l'image `debian` que vous avez trouvé ?
- Après m'être renseigné, il semblerait que la version la plus récente de
`debian` serait la 12.5
```bash
docker pull debian:12.5
```
Démarrez alors un container nommé `mydebian` instancié depuis l'image que vous
venez de télécharger.
```bash
docker run --name mydebian -it debian:12.5 /bin/bash
```
- Suppression des répertoires `/opt` `/mnt` et de la commande `/usr/bin/uniq` :
```bash
rm -rf /opt /mnt
rm /usr/bin/uniq
```
- Création du fichier `/home/random` de 8500 bytes à partir de `/dev/urandom` à
l'aide de la commande `dd` :
```bash
dd if=/dev/urandom of=/home/random bs=8500 count=1
```
- Ajout à la fin du fichier `/etc/motd` du message "Tagada tsoin tsoin"
```bash
echo "Tagada tsoin tsoin" >> /etc/motd
```
À l'aide de `docker diff`, affichez les différences entre votre container
`mydebian` et l'image utilisée pour instancié celui-ci.
```bash
docker diff mydebian
```
```bash
C /home
A /home/random
C /etc
C /etc/motd
C /usr
C /usr/bin
D /usr/bin/uniq
D /opt
D /mnt
```
- Quelle est la signification de la lettre située dans la première colonne des
résultats de `docker diff` ?
- C $\Rightarrow$ _Changed_
- A $\Rightarrow$ _Added_
- D $\Rightarrow$ _Deleted_
À l'aide de la commande `docker commit`, committez alors ces changements en créeant
la nouvelle image `debian:new`.
```bash
docker commit mydebian debian:new
```
Détruisez alors le container `debian` précédent puis inspectez l'historique
de l'image `debian:new` que vous venez de créer.
```bash
docker rm mydebian
```
- Combien de couches ont été ajoutées à l'image suite à vos modifications
```bash
docker inspect <image> | jq '.[0].RootFS.Layers'
```
- Image originale :
```bash
[
"sha256:072686bcd3db19834cd1e0b1e18acf50b7876043f9c38d5308e5e579cbefa6be"
]
```
- Image modifiée :
```bash
[
"sha256:072686bcd3db19834cd1e0b1e18acf50b7876043f9c38d5308e5e579cbefa6be",
"sha256:533b8a2c0530e4620b811c83a318b26d690438fe3879dc190cd61bc4a1d89447"
]
```
Nous pouvons par conséquent remarquer qu'une nouvelle couche fut rajoutée dans
la nouvelle image
- Quel est la taille de cette nouvelle couche ?
```bash
docker history debian:new
```
```bash
IMAGE CREATED CREATED BY SIZE COMMENT
51e7bace94f8 4 hours ago /bin/bash 8.8kB
d2a2c1ada45a 2 weeks ago /bin/sh -c #(nop) CMD ["bash"] 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ADD file:2cc4cba2834c189d0… 117MB
```
Il semblerait donc que la taille de cette nouvelle couche est de 8.8kB
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment