在C#中连接到Docker容器的连接字符串

3

我需要帮助编写连接字符串以连接到运行在Docker容器中的SQL Server数据库。

这是一个需要连接的.NET应用程序,但最初我想要测试与我在Docker上的SQL Server数据库的连接。

使用的IDE是Riders,操作系统为Mac OS。


你有没有想过连接字符串会包含什么内容? - RJ-
是的,我只是一个初学者,需要输入服务器名称、用户名、密码、端口号,我们还可以指定特定的数据库名称。 - Bhavesh Injamara
1个回答

6
如果你的.NET应用程序在同一个解决方案中运行于Docker中,你需要使用SQL服务器容器的名称。
docker-compose.yml
sqlserver:
    image: 'microsoft/mssql-server-linux:2017-latest'
    container_name: sqlserver
    volumes:
      - 'mssql-server-linux-data:/var/opt/mssql/data'
    environment:
      - ACCEPT_EULA='Y'
      - SA_PASSWORD=xxxxxxxx
    ports:
      - '1433:1433'

您的连接字符串将会是:
"ConnectionString": "Server=sqlserver;Database=xxxx;User Id=xx;Password=xxx;"

否则,请在“Server”参数中使用承载容器的计算机的IP地址。

你好,@Raul Martin Ramos。感谢你的帮助。然而,我正在我的 Mac 上运行我的应用程序,而 SQL 服务器在 Docker 上。在 Visual Studio(我已经更换了我的 IDE)中,我是否应该添加 Docker 文件并连接它?我对整个过程有点困惑。 - Bhavesh Injamara
1
嗨Bhavesh,如果你的Mac机器上正在运行Docker,你应该通过localhost访问。例如:var connection = new SqlConnection("Server=localhost;Database=xxxxx;User Id=xx;Password=xxxx;"); - Raúl Martín Ramos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接