virli/tutorial/dockerfiles/interactive.md

69 lines
1.8 KiB
Markdown

\newpage
Modification interactive
========================
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
pas incluses dans le conteneur.
<div lang="en-US">
```
apt-get update
```
</div>
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
utiliser le gestionnaire de paquets pour mettre à jour les paquets présents de
base, mais plutôt de contacter le mainteneur de l'image pour qu'il la mette à
jour.
Installons maintenant un programme :
<div lang="en-US">
```
apt-get install nano
```
</div>
En attendant la fin de l'installation, jetons un œil à la commande dans un
autre terminal :
<div lang="en-US">
```
docker container ls
```
</div>
Cette commande liste les conteneurs actifs. Notez le *Container ID* ainsi que
le *NAMES* du conteneur actuellement en cours d'installation de `nano`.
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` :
<div lang="en-US">
```
docker container commit CONTAINER my_nano
```
</div>
en remplaçant `CONTAINER` par le nom ou l'identifiant de votre
container. `my_nano` est le nom que vous voudrez utiliser à la place
d'`ubuntu` :
<div lang="en-US">
```
docker container run -it my_nano /bin/bash
```
</div>
Vous constatez cette fois que vous pouvez lancer `nano`, alors que vous ne
pouvez toujours pas le faire dans un conteneur issu d'une image `ubuntu` !