Herstellen einer Verbindung zur SQL Server-Datenbank von einem docker-container

Ich habe docker für windows auf meinem Rechner installiert. Es ist eine Konsole-Anwendung für .net-core-1.0.0, die versucht, Zugriff auf eine SQL Server-Datenbank läuft auf einer anderen VM. Ich kann die ping-VM mit SQL Server aus meinem Rechner.

Wenn ich versuche, führen Sie die Konsole-Anwendung mit dotnet run von der Eingabeaufforderung aus auf meinem Rechner funktioniert es einwandfrei. Aber wenn die gleiche Anwendung laufen in einem docker-container habe ich eine Nachricht bekommen

Ein Netzwerk-oder instanzspezifischen Fehler beim
herstellen einer Verbindung zu SQL Server. Der server wurde nicht gefunden oder
nicht zugänglich war. Stellen Sie sicher, dass der Instanzname richtig ist und dass
SQL Server Remoteverbindungen zulässt. (Anbieter: TCP -
Anbieter, Fehler: 40 - Konnte nicht geöffnet werden eine Verbindung zu SQL Server)

Versuchte ich mit

docker run --add-host sqldemo:<VM running sql server ip here>

aber das machte keinen Unterschied.

pingen kann, bedeutet nicht, Sie können die mysql-Verbindung
Wie sind Sie mit dem Bau Ihres connection-string?
using (var conn = new SqlConnection(@"Data Source=" <vm-ip-hier>;Initial Catalog=DemoDb;User id=demo;Password=demo"))
Versuchen Sie, den host-Namen sqldemo Sie hinzufügen mit --add-host anstelle der IP-Adresse.
Ich versuchte es bereits. Funktioniert nicht. Von docker host ich bin nicht in der Lage zu pingen der VM auf dem SQL Server ausgeführt wird. Ich lese viele Artikel über das Andockfenster Vernetzung, aber keine Abbildung dieses heraus. Die meisten der Artikel, die darüber reden overlay-Netzwerk-Treiber für die Verbindung von multi-host. In meinem Fall nicht zutrifft, da SQL Server nicht ausgeführt wird, die in einem docker-container.

InformationsquelleAutor Learning Docker | 2016-07-25

Schreibe einen Kommentar