SQL Server instance string connection in Linux Docker

I’m publishing an application to docker image microsoft/dotnet:1.0.1-core that reference Sql Server instance in connection string:

"Data Source=host\instance;Initial Catalog=database;User ID=user;Password=pass;"

In Windows environment it work’s as well, but using docker, the application cannot connect to the database. Changing the Data Source to use port instead of instance it works.

  • Difference between Ragged Right and Fixed Length
  • Good C#.NET Solution to manage frequent database polling
  • How to filter my results so it shows the last four months of data - sql
  • How to calculate a IPv6 CIDR route prefix in SQL?
  • Case When SQL to LINQ
  • Error Converting datatype nvarchar to int from c# to sql
  • "Data Source=host,port;Initial Catalog=database;User ID=user;Password=pass;"

    How can I connect, from docker, to Sql Server using instance instead port?

  • AWS Lambda - Unable to connect to SQL Server RDS in VPC
  • Can't connect to SQL 2008 database using .NET Core 2.0
  • What would prevent code running in a Docker container from connecting to a database on a separate server?
  • One Solution collect form web for “SQL Server instance string connection in Linux Docker”

    According to Saurabh Singh from Microsoft:

    The Instance name support is available in v 1.1 of .Net Core.
    In v1.0 of .Net Core, Instance names are not supported on OS other than Windows.

    So I don’t think you can connect from .Net Core 1.0 running on Linux to an SQL Server using instance name.

    Your choices seem to be:

    • don’t use instance name
    • wait for .Net Core 1.1 (planned for “Fall 2016”)
    • use pre-release version of .Net Core 1.1
    MS SQL Server is a Microsoft SQL Database product, include sql server standard, sql server management studio, sql server express and so on.