Comment se connecter avec l’hôte PostgreSQL depuis une machine virtuelle

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

Je suppose que je devrais configurer certains parameters de réseau dans VirtualBox lui-même. Tout ce que je reçois des documents de Vagrant est que je dois assigner à ma vm une adresse IP statique pour utiliser un réseau privé. Mais une fois créé, comment puis-je rejoindre mon hôte depuis mon invité?

Je n’ai rien trouvé de tel dans les docs vagrants. Donc, il y a probablement une bonne raison à cela. Est-ce que ça fait du sens? Je ne veux pas copier l’installation de PostgreSQL. Il suffit d’utiliser mon actuel existant.

Vous pouvez atteindre votre hôte à partir de 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.

netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10 cours d’exécution netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10 netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10 netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10 devrait vous donner l’adresse IP correcte. (seulement testé sur ma machine)

Manière simple – utilisez simplement cette adresse IP “magique” de l’intérieur du vagrant 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, au bureau – m’ayant assigné des adresses IP différentes par les routeurs,