Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum stellt meine .NET-Web-API-Anwendung keine Verbindung zu MySQL auf Docker her, wenn Docker-Compose verwendet wird?

Sie haben das Dockerfile für Ihre Anwendung nicht angezeigt, aber ich vermute, dass Sie dotnet publish verwenden zum Erstellen einer Single-File-Anwendung.

Wie die Ausnahmemeldung sagt:

Die von Ihnen verwendete .NET-MySQL-Bibliothek (MySql.Data) ist abhängig von ConfigurationManager , was diese Ausnahme verursacht. Sie haben zwei Möglichkeiten:

  1. Beenden Sie die Veröffentlichung Ihrer Anwendung als einzelne Datei.
  2. Wechseln Sie zu MySqlConnector , eine modernere MySQL .NET-Bibliothek, die .NET Core vollständig unterstützt.

Um die Veröffentlichung als einzelne Datei zu beenden, ändern Sie RUN dotnet publish block in Ihrem Dockerfile zu:

RUN dotnet publish "PostService.csproj" -c Release -o /app/publish \
    --no-restore \
    --runtime alpine-x64 \
    --self-contained true