5

接続文字列にIntegrated Security=Trueを使用してデータベースに接続しているASP.NETコアアプリケーションを使用しているため、アプリケーションを実行しているユーザーの資格情報が接続文字列にユーザ名とパスワードUser Id=username;Password=passwordを追加する必要はありません。カスタムユーザーとして実行中のDockerでASP.NETコアアプリケーションを実行

ドメイン内のユーザーアカウントを使用して、上記のアプリケーションのDockerコンテナを実行するにはどうすればよいですか。これも私ができることですか?もしそうなら、まだ推奨されているアプローチですか?これはpossible using Windows containersと思われますが、Linuxはどうですか?

+0

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-active-directory-authenticationはドッカーコンテナ内で実行されているデータベースやアプリケーションはありますか? –

+0

@ JanshairKhanいいえ、ネットワーク上で動作する別々の仮想マシンです。 –

+0

同じDockerネットワーク内のDockerコンテナ内の単一のVM上でデータベースとアプリケーションを実行する(これはLinuxコンテナで動作します)、またはデータベースを保持するVM2のIPアドレスをアプリケーション内で明示的に指定する2つのオプションがありますVM1上で動作します。 –

答えて

2

誰かがあなたの質問にコメントしたように、ネットワーク内で2つの別々の仮想マシンが実行されているため、そうすることはできません。また、ドッカー用のSQL ServerイメージはLinuxベースであるため、より複雑になります。私は何だろう(と私のチームはalredyやっていること)のsa SQLアカウントを持つことであると:ドッキングウィンドウ-compose.ymlで

1.-:

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認証」に非常に最近の可能なアプローチは、ここで説明されています

関連する問題