Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 问题w/ASP.NET核心应用程序连接到Docker容器上的PostgreSQL_C#_Asp.net_Postgresql_Docker_Asp.net Core - Fatal编程技术网

C# 问题w/ASP.NET核心应用程序连接到Docker容器上的PostgreSQL

C# 问题w/ASP.NET核心应用程序连接到Docker容器上的PostgreSQL,c#,asp.net,postgresql,docker,asp.net-core,C#,Asp.net,Postgresql,Docker,Asp.net Core,我已经使用Docker在我的Ubuntu服务器上拉取并运行了一个PostgreSQL容器,使用来自的指令 在Windows 10工作站上使用Visual Studio,我开发了一个Blazor网页,该网页使用Npgsql连接到我的Ubuntu服务器上的PostgreSQL docker容器,并将其用作后端。我最终使用Visual Studio的docker映像构建功能将我部署的ASP.NET应用程序转换为一个docker容器,我希望在同一个Ubuntu服务器上运行该容器 从VisualStudi

我已经使用Docker在我的Ubuntu服务器上拉取并运行了一个PostgreSQL容器,使用来自的指令

在Windows 10工作站上使用Visual Studio,我开发了一个Blazor网页,该网页使用Npgsql连接到我的Ubuntu服务器上的PostgreSQL docker容器,并将其用作后端。我最终使用Visual Studio的docker映像构建功能将我部署的ASP.NET应用程序转换为一个docker容器,我希望在同一个Ubuntu服务器上运行该容器

从VisualStudio运行容器似乎很好,我成功地加载了网页,并且可以使用PostgreSQL作为后端。我还可以不使用VisualStudio连接到服务器,只需在工作站上以容器的形式运行部署的映像

我想让Blazor网页与我的PGSQL docker容器在同一台Ubuntu服务器上运行,但在不同的容器上运行,这样我就可以从本地网络上的任何计算机上访问该应用程序。我将容器推到Docker上的存储库中,然后将其拉到Ubuntu服务器上,以便它可以在那里运行

当我在Ubuntu上运行Blazor应用程序容器时,在加载从我的PGSQL容器访问数据的页面时,我不断遇到以下异常:

System.InvalidOperationException: An exception has been raised that is likely due to a transient failure.
 ---> Npgsql.NpgsqlException (0x80004005): Exception while connecting
 ---> System.TimeoutException: The operation has timed out.
我所尝试的:

  • 在与PGSQL容器相同的网络(“pgnetwork”)上运行容器
  • 在容器运行的情况下,我成功地将我的网页连接到一个不使用PGSQL后端的页面上,但当加载一个使用PGSQL后端的页面时,它仍然会给我这个异常
  • 在我的Ubuntu服务器上安装了ping到容器,并ping了PGSQL容器。每次ping都很成功
我对Docker和ASP.NET core比较陌生,而且我不是一个IT人员,所以任何帮助或解决问题的方法都会非常有用


EDIT:我又尝试了一件事:在docker容器上安装psql客户端,并尝试使用与C#程序中的连接字符串相同的参数连接到PGSQL容器。无法连接。

这可能会帮助您:发布.net core应用程序的docker文件以查看更多详细信息这可能会帮助您:发布.net core应用程序的docker文件以查看更多详细信息