Je construis un projet de test qui nécessite un module en dehors du répertoire du projet. Le dossier du projet est dans docker, et je voudrais lier ce répertoire de module au conteneur docker de mon projet. Est-il même possible de le faire? Ou est-ce que je pose la mauvaise question? Soit dit en passant, je suis encore nouveau sur Docker, donc j'essaie juste de faire les choses.
Je crois comprendre que vous devez monter le dossier Host sur le conteneur. Essayez donc ceci:
docker run -v /Host/project_folder:/container/project -t avian/project_image bash
-v
- --volume = [] Lier monter un volume/Host/project_folder
- Dossier du serveur hôte/container/project
- dossier du conteneurLa dernière version de docker (v1.9.1) prend en charge une nouvelle commande volume
. Vous devriez donc être plus facile à gérer le volume dans Docker.
# For example, I need attach a volume to mysql container.
docker volume create --name mysql-data
docker run --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
Avec cela, vous pouvez supprimer le conteneur mysql
à tout moment, sans perdre vos données de base de données.
Vous pouvez utiliser le -v
option pour monter un volume
(par exemple votre dossier) dans le conteneur. Plus de détails peuvent être trouvés dans les documents .
Par exemple, à partir de l'exemple de Dockerfile de la plateforme de blog ghost
:
docker run -v /data/ghost:/var/lib/ghost -d ghost
Quelles cartes /data/ghost
sur le disque local vers /var/lib/ghost
à l'intérieur du conteneur.
Vous pouvez également spécifier un autre conteneur Docker comme source
des données à l'aide de --volumes-from
option.