Variables d’environnement¶
Créez un fichier affiche_variable_essai.sh contenant le code suivant :
#!/bin/bash
echo Le contenu de la variable ESSAI :
echo $ESSAI
Ce script affiche la valeur de la variable d’environnement ESSAI.
Pour le constater, il faut faire :
export ESSAI="Bonjour"
./affiche_variable_essai.sh
Écrivez un dockerfile sur la base de alpine dont l’entrypoint est ce fichier afficher_essai.sh (pensez à donner les droits d’exécution à
affiche_variable_essai.sh)Exécutez ce conteneur après avoir exporté la variable d’environnement ESSAI. Ca ne donne rien et c’est normal, ce n’est pas de cette façon que l’on passe des variables d’environnement au conteneur.
Pour passer une valeur à l’environnement à l’exécution du conteneur on fera :
docker run -e "ESSAI=Bonjour" -it --rm IMAGE
Essayez !
Bind mount¶
Un bind mount est un montage d’un dossier de l’hôte dans un dossier du conteneur.
A la création d’un conteneur, on crée un bind mount en ajoutant l’option -v CHEMINHOTE:CHEMINCONTENEUR à docker run.
Essayez en lançant une image alpine avec la commande sh et montant le répertoire courant dans le dossier /opt/ .
Volumes¶
Un volume est un peu comme un bind mount, à la différence que le volume est un espace de stockage géré par docker (par exemple en utilisant un répertoire quelque part sur le disque, ou encore en utilisant un stockage réseau en NFS, …)
Pour créer un volume on fera : docker volume create nom_volume .
Ensuite, au lancement d’un conteneur en ajoutant l’option -v nom_volume:CHEMINCONTENEUR à docker run.