2017-10-15 20:49:27 +00:00
|
|
|
\newpage
|
|
|
|
|
|
|
|
Modification interactive
|
|
|
|
========================
|
|
|
|
|
2018-10-04 03:46:47 +00:00
|
|
|
Pour créer une image, commençons par entrer dans un nouveau conteneur :
|
|
|
|
|
|
|
|
<div lang="en-US">
|
|
|
|
```
|
|
|
|
docker container run -it ubuntu /bin/bash
|
|
|
|
```
|
|
|
|
</div>
|
|
|
|
|
2017-10-15 20:49:27 +00:00
|
|
|
Nous voilà maintenant dans le conteneur ! Il est assez épuré, il n'y a rien de
|
|
|
|
superflu : même pas d'éditeur de texte : ni vim, ni emacs, même pas `vi` !
|
|
|
|
|
|
|
|
La première chose à faire est de télécharger la liste des paquets. En effet,
|
|
|
|
afin de ne pas livrer de superflu, la liste des paquets et son cache ne sont
|
2017-10-16 20:59:22 +00:00
|
|
|
pas incluses dans le conteneur.
|
2017-10-15 20:49:27 +00:00
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
<div lang="en-US">
|
2017-10-15 20:49:27 +00:00
|
|
|
```
|
|
|
|
apt-get update
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
</div>
|
2017-10-15 20:49:27 +00:00
|
|
|
|
|
|
|
Il peut arriver que des paquets présents dans l'image ne soient pas à
|
|
|
|
jour. Afin de garder un environnement cohérent, il est recommandé de ne pas
|
2017-10-16 20:59:22 +00:00
|
|
|
utiliser le gestionnaire de paquets pour mettre à jour les paquets présents de
|
2017-10-15 20:49:27 +00:00
|
|
|
base, mais plutôt de contacter le mainteneur de l'image pour qu'il la mette à
|
|
|
|
jour.
|
|
|
|
|
|
|
|
Installons maintenant un programme :
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
<div lang="en-US">
|
2017-10-15 20:49:27 +00:00
|
|
|
```
|
|
|
|
apt-get install nano
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
</div>
|
2017-10-15 20:49:27 +00:00
|
|
|
|
|
|
|
En attendant la fin de l'installation, jetons un œil à la commande dans un
|
|
|
|
autre terminal :
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
<div lang="en-US">
|
2017-10-15 20:49:27 +00:00
|
|
|
```
|
|
|
|
docker container ls
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
</div>
|
2017-10-15 20:49:27 +00:00
|
|
|
|
|
|
|
Cette commande liste les conteneurs actifs. Notez le *Container ID* ainsi que
|
2017-10-16 20:59:22 +00:00
|
|
|
le *NAMES* du conteneur actuellement en cours d'installation de `nano`.
|
2017-10-15 20:49:27 +00:00
|
|
|
|
|
|
|
Lorsque l'installation de `nano` est terminée, quittez l'image en tapant
|
|
|
|
`exit`.
|
|
|
|
|
|
|
|
Sauvegardez votre image modifiée avec la commande `commit` pour pouvoir
|
|
|
|
commencer directement de votre image avec `nano` :
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
<div lang="en-US">
|
2017-10-15 20:49:27 +00:00
|
|
|
```
|
|
|
|
docker container commit CONTAINER my_nano
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
</div>
|
2017-10-15 20:49:27 +00:00
|
|
|
|
2017-10-16 20:59:22 +00:00
|
|
|
en remplaçant `CONTAINER` par le nom ou l'identifiant de votre
|
2017-10-15 20:49:27 +00:00
|
|
|
container. `my_nano` est le nom que vous voudrez utiliser à la place
|
|
|
|
d'`ubuntu` :
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
<div lang="en-US">
|
2017-10-15 20:49:27 +00:00
|
|
|
```
|
|
|
|
docker container run -it my_nano /bin/bash
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
</div>
|
2017-10-15 20:49:27 +00:00
|
|
|
|
|
|
|
Vous constatez cette fois que vous pouvez lancer `nano`, alors que vous ne
|
2017-10-16 20:59:22 +00:00
|
|
|
pouvez toujours pas le faire dans un conteneur issu d'une image `ubuntu` !
|