Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Windows-containers krijgen standaard minimale toegang tot hostapparaten, net als Linux-containers. Er zijn bepaalde werkbelastingen waar het nuttig of zelfs imperatief is om toegang te krijgen tot en te communiceren met hosthardwareapparaten. In deze handleiding wordt beschreven welke apparaten worden ondersteund in containers en hoe u aan de slag kunt gaan.
Voorwaarden
Deze functie werkt alleen als uw omgeving voldoet aan de volgende vereisten:
- Op de containerhost moet Windows Server 2019 of Windows 10 versie 1809 of hoger worden uitgevoerd.
- De containerbasisafbeeldingversie moet 1809 of hoger zijn.
- Uw containers moeten Windows-containers zijn die worden uitgevoerd in de proces-geïsoleerde modus.
- Op de containerhost moet Docker Engine 19.03 of hoger worden uitgevoerd.
Een container draaien met een apparaat
Gebruik de volgende opdracht om een container met een apparaat te starten:
docker run --isolation=process --device="class/{interface class GUID}" mcr.microsoft.com/windows/servercore:1809
U moet de {interface class guid} vervangen door een geschikte guid van de apparaatinterfaceklasse. Deze vindt u in de onderstaande sectie.
Als u een container met meerdere apparaten wilt starten, gebruikt u de volgende opdracht en voeg meerdere --device argumenten samen.
docker run --isolation=process --device="class/{interface class GUID}" --device="class/{interface class GUID}" mcr.microsoft.com/windows/servercore:1809
In Windows declareren alle apparaten een lijst met interfaceklassen die ze implementeren. Door dit commando door te geven aan Docker, zorgt dit ervoor dat alle apparaten die worden herkend als implementatie van de gevraagde klasse in de container worden geplaatst.
Dit betekent dat u het apparaat niet van de host toewijst. In plaats daarvan deelt de host deze met de container. Omdat u een klasse-GUID opgeeft, alle apparaten die deze GUID implementeren, worden gedeeld met de container.
Welke apparaten worden ondersteund
De volgende apparaten (en hun GUID's van de apparaatinterfaceklasse) worden momenteel ondersteund:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Belangrijk
Apparaatondersteuning is afhankelijk van stuurprogramma's. Als u probeert klasse-GUID's door te geven die niet zijn gedefinieerd in de bovenstaande tabel, kan dit leiden tot niet-gedefinieerd gedrag.
Ondersteuning voor Hyper-V-geïsoleerde Windows-containers
Apparaattoewijzing en apparaatdeling voor workloads in Hyper-V-geïsoleerde Windows-containers worden momenteel niet ondersteund.
Ondersteuning voor Hyper-V-geïsoleerde Linux-containers
Apparaattoewijzing en het delen van apparaten voor workloads in Hyper-V-geïsoleerde Linux-containers worden momenteel niet ondersteund.