运行 ASP.NET Docker 运行 中的核心应用作为自定义用户

Run ASP.NET Core App in Docker Running as Custom User

我有一个 ASP.NET 核心应用程序使用连接字符串中的 Integrated Security=True 连接到数据库,因此使用该应用程序的用户 运行 的凭据用于连接数据库,这样我就不必在连接字符串中添加用户名和密码 User Id=username;Password=password

如何使用我域中的用户帐户 运行 上述应用程序的 Docker 容器。这甚至是我能做的事吗?如果是这样,它仍然是推荐的方法吗?这似乎 possible using Windows containers 但 linux 呢?

正如有人对您的问题发表的评论,您不能这样做,因为您的网络中有两个独立的虚拟机在运行。 docker 的 SQL 服务器映像也是基于 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:此处解释了 "Active Directory Authentication with SQL Server on Linux" 的一种最新可能方法:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-active-directory-authentication