我有一个 ASP.NET Core 应用程序使用Integrated Security=True
连接字符串连接到数据库,因此运行该应用程序的用户的凭据用于连接到数据库,因此我不必在其中添加用户名和User Id=username;Password=password
密码连接字符串。
如何使用我域中的用户帐户运行上述应用程序的 Docker 容器。这甚至是我能做的事情吗?如果是这样,它仍然是推荐的方法吗?这似乎可以使用 Windows 容器,但是 linux 呢?
我有一个 ASP.NET Core 应用程序使用Integrated Security=True
连接字符串连接到数据库,因此运行该应用程序的用户的凭据用于连接到数据库,因此我不必在其中添加用户名和User Id=username;Password=password
密码连接字符串。
如何使用我域中的用户帐户运行上述应用程序的 Docker 容器。这甚至是我能做的事情吗?如果是这样,它仍然是推荐的方法吗?这似乎可以使用 Windows 容器,但是 linux 呢?
正如有人评论您的问题,您不能这样做,因为您的网络中有两个单独的虚拟机在运行。此外,docker 的 SQL Server 映像是基于 linux 的,因此它会使其更加复杂。我要做的(我的团队已经在做)是拥有一个 sa SQL 帐户,并且:
1.- 在 docker-compose.yml 中:
sqlserver:
image: microsoft/mssql-server-linux:latest
container_name: sqlserver
volumes:
- mssql-server-linux-data:/var/opt/mssql/data
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=MySaPasswordIsHere
ports:
- "1433:1433"
2.-在我的连接字符串中看起来像:
"MyServiceThatUsesSqlServer": {
"MyConnectionString": "Server=sqlserver;Database=MyDatabaseName;User Id=sa;Password=MySaPasswordIsHere;"
},
我希望它能帮助你解决这个问题。
PS:此处解释了“在 Linux 上使用 SQL Server 进行 Active Directory 身份验证”的最新可能方法:https ://docs.microsoft.com/en-us/sql/linux/sql-server-linux-active-directory-验证