Konfigurace aplikace pro použití gMSA
Platí pro: Windows Server 2025, Windows Server 2022, Windows Server 2019
V typické konfiguraci má kontejner pouze jeden účet spravované služby skupiny (gMSA), který se používá při každém pokusu o ověření účtu počítače kontejneru v síťových prostředcích. To znamená, že vaše aplikace bude muset běžet jako místní systém nebo síťová služba, pokud potřebuje použít identitu gMSA. Kontejnery lze také nakonfigurovat s dalšími účty gMSA pro případ, že chcete spustit službu nebo aplikaci v kontejneru jako jinou identitu než účet počítače kontejneru.
Spustit fond aplikací IIS jako Síťová služba
Pokud ve svém kontejneru hostujete web služby IIS, abyste mohli využít gMSA, stačí nastavit identitu fondu aplikací na Síťovou službu. To můžete udělat v souboru Dockerfile přidáním následujícího příkazu:
RUN %windir%\system32\inetsrv\appcmd.exe set AppPool DefaultAppPool -'processModel.identityType':NetworkService
Pokud jste dříve použili statické přihlašovací údaje uživatele pro fond aplikací SLUŽBY IIS, zvažte gMSA jako náhradu těchto přihlašovacích údajů. GMSA můžete změnit mezi vývojovými, testovacími a produkčními prostředími a služba IIS automaticky vyzvedne aktuální identitu, aniž by bylo nutné změnit image kontejneru.
Spuštění služby systému Windows jako síťové služby
Pokud vaše kontejnerizovaná aplikace běží jako služba Windows, můžete ji nastavit tak, aby běžela jako síťová služba ve vašem souboru Dockerfile:
RUN sc.exe config "YourServiceName" obj= "NT AUTHORITY\NETWORK SERVICE" password= ""
Spuštění libovolných konzolových aplikací jako síťové služby
U obecných konzolových aplikací, které nejsou hostované ve službě IIS nebo Service Manageru, je často nejjednodušší spustit kontejner jako network service, aby aplikace automaticky dědila kontext gMSA. Tato funkce je k dispozici ve Windows Serveru verze 1709.
Přidejte do souboru Dockerfile následující řádek, aby se ve výchozím nastavení spustil jako síťová služba:
USER "NT AUTHORITY\NETWORK SERVICE"
Pomocí docker exec
se také můžete připojit ke kontejneru jako síťové službě jednorázově. To je užitečné zejména v případě, že řešíte problémy s připojením ve spuštěném kontejneru, když kontejner normálně neběží jako síťová služba.
# Opens an interactive PowerShell console in the container (id = 85d) as the Network Service account
docker exec -it --user "NT AUTHORITY\NETWORK SERVICE" 85d powershell
Související obsah
Kromě konfigurace aplikací můžete také používat gMSAs k tomu:
Pokud během instalace narazíte na nějaké problémy, podívejte se do našeho průvodce pro řešení potíží a najděte možná řešení.