Köra en container med en gMSA
Gäller för: Windows Server 2025, Windows Server 2022, Windows Server 2019
Om du vill köra en container med ett grupphanterat tjänstkonto (gMSA) anger du autentiseringsspecifikationsfilen till parametern --security-opt
för docker-körning:
docker run --security-opt "credentialspec=file://contoso_webapp01.json" --hostname webapp01 -it mcr.microsoft.com/windows/server:ltsc2022 powershell
Viktig
I Windows Server 2016-versionerna 1709 och 1803 måste värdnamnet för containern matcha gMSA-kortnamnet.
I föregående exempel är gMSA SAM-kontonamnet webapp01, så containerns värdnamn heter också webapp01.
I Windows Server 2019 och senare krävs inte fältet värdnamn, men containern identifierar sig fortfarande med gMSA-namnet i stället för värdnamnet, även om du uttryckligen anger ett annat.
Kontrollera om gMSA fungerar korrekt genom att köra följande cmdlet i containern:
# Replace contoso.com with your own domain
PS C:\> nltest /sc_verify:contoso.com
Flags: b0 HAS_IP HAS_TIMESERV
Trusted DC Name \\dc01.contoso.com
Trusted DC Connection Status Status = 0 0x0 NERR_Success
Trust Verification Status = 0 0x0 NERR_Success
The command completed successfully
Om den betrodda DC-anslutningsstatusen och förtroendeverifieringsstatusen inte är NERR_Success
ska du följa felsökningsinstruktioner för att lösa problemet.
Du kan verifiera gMSA-identiteten inifrån containern genom att köra följande kommando och kontrollera klientnamnet:
PS C:\> klist get webapp01
Current LogonId is 0:0xaa79ef8
A ticket to krbtgt has been retrieved successfully.
Cached Tickets: (2)
#0> Client: webapp01$ @ CONTOSO.COM
Server: krbtgt/webapp01 @ CONTOSO.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 3/21/2019 4:17:53 (local)
End Time: 3/21/2019 14:17:53 (local)
Renew Time: 3/28/2019 4:17:42 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0
Kdc Called: dc01.contoso.com
[...]
Om du vill öppna PowerShell eller en annan konsolapp som gMSA-konto kan du be containern att köras under nätverkstjänstkontot i stället för det normala ContainerAdministrator-kontot (eller ContainerUser för NanoServer):
# NOTE: you can only run as Network Service or SYSTEM on Windows Server 1709 and later
docker run --security-opt "credentialspec=file://contoso_webapp01.json" --hostname webapp01 --user "NT AUTHORITY\NETWORK SERVICE" -it mcr.microsoft.com/windows/servercore:ltsc2019 powershell
När du kör som nätverkstjänst kan du testa nätverksautentisering som gMSA genom att försöka ansluta till SYSVOL på en domänkontrollant:
# This command should succeed if you're successfully running as the gMSA
PS C:\> dir \\contoso.com\SYSVOL
Directory: \\contoso.com\sysvol
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----l 2/27/2019 8:09 PM contoso.com
Relaterat innehåll
Förutom att köra containrar kan du även använda gMSA:er för att:
Om du stöter på problem under installationen kan du läsa vår felsökningsguide för efter möjliga lösningar.