2017-09-05 18 views
0

Je suis assez nouveau pour les conteneurs docker. Je comprends qu'il y a des opérations ADD et COPY pour qu'un conteneur puisse voir les fichiers. Comment donne-t-on accès au conteneur à un répertoire donné où je peux mettre mes jeux de données? Disons que j'ai un répertoire/home/nom d'utilisateur/dataset, comment puis-je le faire dans/dataset ou quelque chose dans le conteneur docker pour que je puisse le référencer?Nvidia-docker ajouter un dossier au conteneur

Y at-il un moyen pour le conteneur de référencer un répertoire sur le système principal afin de ne pas avoir de fichiers en double. Certains de ces ensembles de données seront assez volumineux et même si je peux supprimer l'original après l'avoir copié ... c'est juste ennuyeux si je veux faire quelque chose en dehors du conteneur docker avec les fichiers.

Répondre

0

Vous ne pouvez pas faire pendant la construction. Si vous voulez le faire pendant le temps de construire, alors vous devez copier dans le contexte

Ou bien lorsque vous exécutez le conteneur que vous devez faire une liaison de montage de volume

docker run -it -v /home/username/dataset:/dataset <image> 
0

Les répertoires sur l'hôte peuvent être mappés aux répertoires à l'intérieur du conteneur.

Si vous utilisez runer run pour démarrer votre conteneur, vous pouvez inclure l'indicateur -v pour inclure les volumes.

docker run --rm -v "/home/username/dataset:/dataset" <image_name> 

Si vous utilisez un fichier de composition, vous pouvez inclure volumes en utilisant:

volumes: 
    - /home/<username>/dataset:/dataset 

Pour une description détaillée de la façon d'utiliser les volumes, vous pouvez visiter Use volumes in docker