web-dev-qa-db-fra.com

comment mapper un dossier de mon VM sur mon ordinateur local

J'ai un devbox VM fonctionnant via vagrant et virtualbox. J'aimerais qu'il fonctionne simplement en tant que serveur Web et effectue tout mon travail sur ma machine locale (où se trouvent mes outils de développement).

Je l'ai déjà fait auparavant. La VM possède un dossier d'application qui pointe vers le dossier de la machine hôte et, chaque fois que des modifications sont apportées sur la machine locale (via Sublime/vim, par exemple), elles sont automatiquement mises à jour. la VM.

La VM exécute une image Heroku (qui, je crois, fonctionne sous Ubuntu). La machine hôte est également Ubuntu 13.04

6
patrickgamer

Par défaut, Vagrant partagera le répertoire de votre projet (le répertoire avec le fichier Vagrant) avec /vagrant.

Dans votre Vagrantfile, vous devriez avoir les éléments suivants

Vagrant.configure("2") do |config|
  # other config here

  config.vm.synced_folder "src/", "/srv/website"
end

REMARQUE: le premier paramètre est un chemin d'accès à un répertoire sur la machine hôte. Si le chemin est relatif, il est relatif à la racine du projet. Le deuxième paramètre doit être un chemin absolu indiquant où partager le dossier sur la machine invitée. Ce dossier sera créé (récursivement s'il le faut) s'il n'existe pas.

Autres options

Option 1

Recommandé sshfs Installez le paquet sshfs, montez un chemin sur l'hôte via ssh, par exemple, montez le $HOME/project à /srv/www sur l'invité

sshfs user@Host:~/project /srv/www

Pour démonter sshfs

fusermount -u /mnt/sshfs

/srv/www sur l'invité apparaît comme s'il était local.

Option 2

NFS See => Vagrant - NFS

7
Terry Wang