gpt4 book ai didi

c# - 无法在 Linux 机器上为使用 MySQL db 和 Pomelo.EntityFrameworkCore.MySql 的 dot net core 2.1 应用程序运行 docker 镜像

转载 作者:可可西里 更新时间:2023-11-01 07:38:25 24 4
gpt4 key购买 nike

在 Linux 机器上执行(运行).net core 2.1 API 应用程序的 docker 镜像时抛出以下异常

我正在使用 Pomelo.EntityFrameworkCore.MySql 来使用 MySQL 数据库

当我在 windows 机器上构建和运行 api 图像时,它运行良好,但是当我试图在 linux 上运行相同的图像时,抛出以下异常。

当我在 linux 机器上构建和运行图像时也是如此。

不确定出了什么问题。

Microsoft.EntityFrameworkCore.Database.Connection[20004. An error occurred using the connection to database '' on server ''. MySql.Data.MySqlClient.MySqlException (0x80004005): Connect Timeout expired. --- System.ObjectDisposedException: Safe handle has been closed at System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean& success) at System.StubHelpers.StubHelpers.SafeHandleAddRef(SafeHandle pHandle, Boolean& success) Interop.Sys.TryChangeSocketEventRegistration(IntPtr port, SafeHandle socket, SocketEvents currentEvents, SocketEvents newEvents, IntPtr data)

期待专家的帮助,非常感谢。

最佳答案

无法从运行应用程序的 Docker 容器访问运行 MySQL 服务器的容器/服务器。因此,您的应用程序在尝试打开数据库连接时超时(“连接超时已过期”)。

确保您的网络设置允许您的网络服务器通过端口 3306 联系数据库服务器。

关于c# - 无法在 Linux 机器上为使用 MySQL db 和 Pomelo.EntityFrameworkCore.MySql 的 dot net core 2.1 应用程序运行 docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52372809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com