J'ai recherché cela il y a quelques jours et je n'arrive pas à trouver une solution. J'utilise .NET Core 1.1 et VS2017 avec Docker Tools. Lorsque je lance l'application avec l'option auto-hébergée ou IIS, tout est OK. J'utilise Ngpsql comme fournisseur de données pour PostgreSQL et la chose fonctionne très bien. Le problème apparaît lorsque je lance l'application en tant que conteneur avec Docker (l'image est sympa, le conteneur fonctionne sous Windows et Linux) car mon hôte PostgreSQL est localhost et l'application Core ne peut pas voir mon instance PostgreSQL locale (parce que pour le conteneur localhost est le conteneur lui-même et pas ma machine hôte). Je sais qu'il existe LOTS des tutoriels et des procédures pas à pas pour faire cela avec .NET Core et PSQL à travers Docker Compose (un conteneur pour chacun), je le sais. Je suppose qu'ils fonctionnent très bien MAIS les exigences pour ce travail sont que l'application Core conteneurisée lise/écrive des données à partir d'un serveur PostgreSQL installé localement.Connectez l'application .NET Core MVC/WebAPI conteneurisée à Postgres installé localement
En production, le Core Container et le PostgreSQL installé localement seront dans la même machine avec la même adresse. Je sais que cela doit être un paramètre simple ou quelque chose comme ça, mais je ne veux pas perdre la portabilité du conteneur Docker en utilisant la chaîne de connexion mon ip (développement) ip car le scénario de déploiement/exécution dans la production le serveur sera automatisé via Docker Cloud et autres.
Peut-être passer un paramètre? Exposer correctement le port du conteneur docker? Quelle? WHAAAT ?!
Copie possible de [Depuis l'intérieur d'un conteneur Docker, comment me connecter à l'hôte local de la machine?] (Https://stackoverflow.com/questions/24319662/from-inside-of- a-docker-conteneur-comment-je-connecter-à-l'hôte-local-de-la-mach) – Ayushya
Merci @Ayushya, allez tester cette réponse. –
En fait qu'est-ce que le travail est cette réponse https://stackoverflow.com/questions/31249112/allow-docker-container-to-connect-to-a-local-host-postgres-database. S'il vous plaît marquer comme doublon ou quelque chose comme ça (je ne connais pas le terme exact). J'ai suivi ces étapes et fonctionne. –