Skonfiguruj aplikację do używania grupowego konta zarządzanego usługami.
Dotyczy: Windows Server 2025, Windows Server 2022, Windows Server 2019
W typowej konfiguracji kontener otrzymuje tylko jedno konto usługi zarządzane przez grupę (gMSA), które jest używane za każdym razem, gdy konto komputera kontenera próbuje uwierzytelnić się w zasobach sieciowych. Oznacza to, że aplikacja będzie musiała działać jako System lokalny lub Usługa sieciowa, jeśli musi korzystać z tożsamości gMSA. Kontenery można również skonfigurować z dodatkowymi gMSA, na wypadek gdybyś chciał uruchomić usługę lub aplikację w kontenerze jako inną tożsamość niż konto komputera kontenera.
Uruchom pulę aplikacji IIS jako Usługa sieciowa
Jeśli hostujesz witrynę internetową na IIS w kontenerze, aby skorzystać z gMSA, wystarczy ustawić tożsamość puli aplikacji na usługę sieciową. Możesz to zrobić w pliku Dockerfile, dodając następujące polecenie:
RUN %windir%\system32\inetsrv\appcmd.exe set AppPool DefaultAppPool -'processModel.identityType':NetworkService
Jeśli wcześniej używałeś statycznych poświadczeń użytkownika dla puli aplikacji usług IIS, rozważ użycie gMSA zamiast tych poświadczeń. Możesz zmienić gMSA między środowiskami deweloperskimi, testowymi i produkcyjnymi, a IIS automatycznie rozpozna bieżącą tożsamość bez konieczności zmiany obrazu kontenera.
Uruchamianie usługi systemu Windows jako usługi sieciowej
Jeśli konteneryzowana aplikacja działa jako usługa systemu Windows, możesz ustawić usługę do uruchamiania jako usługa sieciowa w pliku Dockerfile:
RUN sc.exe config "YourServiceName" obj= "NT AUTHORITY\NETWORK SERVICE" password= ""
Uruchamianie dowolnych aplikacji konsoli jako usługi sieciowej
W przypadku ogólnych aplikacji konsolowych, które nie są hostowane w usługach IIS ani w Service Manager, często najłatwiej jest uruchomić kontener jako Network Service, aby aplikacja automatycznie przejęła kontekst gMSA. Ta funkcja jest dostępna w wersji 1709 systemu Windows Server.
Dodaj następujący wiersz do pliku Dockerfile, aby był domyślnie uruchamiany jako usługa sieciowa:
USER "NT AUTHORITY\NETWORK SERVICE"
Możesz również połączyć się z kontenerem jako usługą sieciową na zasadzie jednorazowej z docker exec
. Jest to szczególnie przydatne w przypadku rozwiązywania problemów z łącznością w uruchomionym kontenerze, gdy kontener nie jest zwykle uruchamiany jako usługa sieciowa.
# 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
Powiązana zawartość
Oprócz konfigurowania aplikacji można również używać gMSAs do:
Jeśli podczas instalacji wystąpią jakiekolwiek problemy, zapoznaj się z naszym przewodnikiem rozwiązywania problemów , aby uzyskać możliwe rozwiązania.