virli/tutorial/dockerfiles/interactive.md

67 lines
1.7 KiB
Markdown
Raw Normal View History

\newpage
Modification interactive
========================
Pour créer une image, commençons par entrer dans un nouveau conteneur :
<div lang="en-US">
```bash
docker container run -it ubuntu /bin/bash
```
</div>
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-17 06:29:07 +00:00
<div lang="en-US">
```bash
apt-get update
```
2017-10-17 06:29:07 +00:00
</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
2017-10-16 20:59:22 +00:00
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 :
2017-10-17 06:29:07 +00:00
<div lang="en-US">
```bash
apt-get install nano
```
2017-10-17 06:29:07 +00:00
</div>
Lorsque l'installation de `nano` est terminée, quittez l'image en tapant
`exit`.
2018-10-18 05:05:36 +00:00
Sauvegardez vos modifications en tant que nouvelle image Docker, avec
la commande `commit` :
2017-10-17 06:29:07 +00:00
<div lang="en-US">
```bash
docker container commit CONTAINER my_nano
```
2017-10-17 06:29:07 +00:00
</div>
2018-10-18 05:05:36 +00:00
en remplaçant `CONTAINER` par le nom ou l'identifiant du container qui
doit servir de modèle. `my_nano` est le nom que vous voudrez utiliser
à la place d'`ubuntu`.
Testons sans plus attendre notre nouvelle image :
2017-10-17 06:29:07 +00:00
<div lang="en-US">
```bash
docker container run -it my_nano /bin/bash
```
2017-10-17 06:29:07 +00:00
</div>
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` !