Création de conteneurs avec un chemin d'hôte
Dans de nombreux cas, nous ne sommes pas habitués à utiliser des volumes de données, mais plutôt à utiliser directement le répertoire natif pour la persistance des données. Dans cette section, nous allons utiliser le répertoire natif pour créer des conteneurs.
Objectif
Votre objectif est de créer un conteneur qui utilise un chemin d'hôte
, puis de copier les fichiers locaux dans le conteneur et de vérifier que les fichiers dans ce conteneur sont les mêmes que ceux dans le chemin d'hôte
.
Exemple de résultat
Voici un exemple de ce que vous devriez être capable d'accomplir à la fin de ce défi :
- Créer un répertoire
nginx
dans le répertoire /tmp
.
labex:/tmp/ $ ls | grep nginx
nginx
- Démarrer le conteneur
nginx-host
basé sur l'image nginx
qui monte le répertoire /tmp/nginx
sur le répertoire /usr/share/nginx/html
dans le conteneur.
labex:/tmp/ $ docker ps | grep nginx-host
6fc2d40e12df nginx "/docker-entrypoint.…" 44 seconds ago Up 43 seconds 80/tcp nginx-host
- Vérifier les détails de montage spécifiques avec la commande
docker inspect
.
"Mounts": [
{
"Type": "bind",
"Source": "/tmp/nginx",
"Destination": "/usr/share/nginx/html",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
- Créer un fichier local appelé
nginx.txt
avec le contenu hello nginx
.
labex:/tmp/ $ pwd
/tmp
labex:/tmp/ $ cat nginx.txt
hello nginx
- Copier le fichier
nginx.txt
dans le répertoire /usr/share/nginx/html
du conteneur nginx-host
.
labex:nginx/ $ docker exec nginx-host cat /usr/share/nginx/html/nginx.txt
hello nginx
- Vérifier le répertoire
/tmp/nginx
sur la machine locale pour voir s'il y a un fichier nginx.txt
.
labex:nginx/ $ pwd
/tmp/nginx
labex:nginx/ $ cat nginx.txt
hello nginx
Exigences
Pour terminer ce défi, vous devrez :
- Connaître le chemin
chemin d'hôte
que vous voulez utiliser.
- Savoir utiliser certaines commandes pertinentes à l'intérieur du conteneur pour vérifier si le répertoire ou le fichier d'hôte peut être consulté.
- Savoir démarrer le conteneur en utilisant le chemin d'hôte.
- Être familier avec les commandes Linux de base, telles que
cd
, mkdir
, touch
, etc.