web-dev-qa-db-fra.com

Comment se connecter à Host PostgreSQL à partir d'une machine Virtualbox vagabonde

J'ai une machine VirtualBox exécutant Ubuntu 12.04 sur une machine hôte Mac OS X. Sur ma machine hôte (Mac OS X), j'ai installé PostgreSQL. Je voudrais me connecter à ce serveur PostgreSQL à partir de ma machine virtuelle Ubuntu (je sais que normalement c'est le contraire).

Je suppose que je devrais configurer certains paramètres de mise en réseau dans VirtualBox lui-même. Tout ce que je reçois de Vagrant docs est que je dois attribuer à mon vm une adresse IP statique pour utiliser un réseau privé. Mais une fois créé, comment puis-je joindre mon hôte depuis mon invité?

Je n'ai rien trouvé de tel dans les documents vagabonds. Donc, il y a probablement une bonne raison à cela. Est-ce que ça fait du sens? Je ne veux pas dupliquer l'installation de PostgreSQL. Utilisez simplement mon actuel.

45
Jorge Arévalo

Vous pouvez atteindre votre hôte depuis votre invité en utilisant la passerelle par défaut sur votre machine virtuelle.

Voir cette réponse pour une explication.

En exécutant netstat -rn vous pouvez obtenir la passerelle par défaut puis utiliser cette adresse IP dans votre fichier de configuration de votre application.

Fonctionnement netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10 devrait vous donner la bonne adresse IP. (testé uniquement sur ma machine)

93
Matt Cooper

Moyen simple - utilisez simplement cette adresse IP "magique" de l'intérieur du vagabond sans aucune configuration supplémentaire:

10.0.2.2

Je ne sais pas si c'est toujours statique, mais pour moi ça marche et c'est très pratique - je peux utiliser un ordinateur portable à la maison, depuis le bureau - m'ayant attribué des IP différentes par des routeurs, mais mes VM connaissent le "nom de confiance" de leur maître? ???

22
Daniel Garmoshka