Dela via


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_Successska 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

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.