Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
report
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ISC2
virtu
report
Commits
faecc122
Verified
Commit
faecc122
authored
1 year ago
by
iliya.saroukha
Browse files
Options
Downloads
Patches
Plain Diff
feat: ex3 of lab7 done
parent
9cfe63fe
No related branches found
No related tags found
No related merge requests found
Pipeline
#31990
passed
1 year ago
Stage: build
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
content/07_docker_storage.md
+119
-1
119 additions, 1 deletion
content/07_docker_storage.md
with
119 additions
and
1 deletion
content/07_docker_storage.md
+
119
−
1
View file @
faecc122
...
@@ -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 $
\R
ightarrow$ _Changed_
-
A $
\R
ightarrow$ _Added_
-
D $
\R
ightarrow$ _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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment