【发布时间】:2018-01-24 21:05:01
【问题描述】:
我有一个支持 Docker 的 ASP .NET Core (v2.0) 应用程序。 我想在启动我的应用程序时启动一个 Oracle 数据库。 这就是我的 docker-compose 文件的样子:
version: '3'
services:
devarttestapp:
image: devarttestapp
build:
context: ./DevartTestApp
dockerfile: Dockerfile
oracledb:
image: sath89/oracle-12c
ports:
- "1521:1521"
我使用 Devart 数据提供程序 dotConnect for Oracle。
var conn = new Devart.Data.Oracle.OracleConnection();
conn.ConnectionString = Environment.GetEnvironmentVariable("ORACLE_CONNECTION_STRING");
try
{
conn.Open();
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
但是当我尝试连接到创建的 Oracle DB 容器的数据库时,出现以下异常:
System.Net.Internals.SocketExceptionFactory+ExtendedSocketException(连接被拒绝 127.0.0.1:1521)
我还尝试在我的 docker-compose 文件中包含depends_on 和networks 选项,结果相同。
此异常的原因可能是什么?
我该如何解决这个问题?
【问题讨论】:
-
数据库不是问题,因为我可以连接到它。只有在 Docker 容器中运行的 Web 应用似乎无法连接到其他 Docker 容器中的数据库。
-
检查客户端跟踪以确定问题
标签: asp.net .net oracle docker