Windows의 컨테이너에 있는 디바이스
기본적으로 Windows 컨테이너는 Linux 컨테이너와 마찬가지로 호스트 디바이스에 대한 최소한의 액세스 권한을 부여합니다. 호스트 하드웨어 디바이스에 액세스하고 통신하는 데 도움이 되는 특정 워크로드 또는 명령적 워크로드가 있습니다. 이 가이드에서는 컨테이너에서 지원되는 디바이스와 시작하는 방법을 설명합니다.
필수 구성 요소
이 기능이 작동하려면 환경이 다음 요구 사항을 충족해야 합니다.
- 컨테이너 호스트는 Windows Server 2019 또는 Windows 10 버전 1809 이상을 실행해야 합니다.
- 컨테이너 기본 이미지 버전은 1809 이상이어야 합니다.
- 컨테이너는 프로세스 격리 모드에서 실행되는 Windows 컨테이너여야 합니다.
- 컨테이너 호스트는 Docker 엔진 19.03 이상을 실행해야 합니다.
디바이스를 사용하여 컨테이너 실행
디바이스로 컨테이너를 시작하려면 다음 명령을 사용합니다.
docker run --isolation=process --device="class/{interface class GUID}" mcr.microsoft.com/windows/servercore:1809
{interface class guid}
을(를) 아래 섹션에서 찾을 수 있는 적절한 디바이스 인터페이스 클래스 GUID로 교체해야 합니다.
여러 디바이스로 컨테이너를 시작하려면 다음 명령을 사용하고 여러 --device
인수를 연결하세요.
docker run --isolation=process --device="class/{interface class GUID}" --device="class/{interface class GUID}" mcr.microsoft.com/windows/servercore:1809
Windows에서 모든 디바이스는 구현하는 인터페이스 클래스 목록을 선언합니다. 이 명령을 Docker에 전달하면 요청된 클래스를 구현하는 것으로 식별되는 모든 디바이스가 컨테이너에 배관됩니다.
즉, 호스트에서 디바이스를 할당하지 . 대신 호스트가 컨테이너와 공유합니다. 마찬가지로 클래스 GUID를 지정하기 때문에 해당 GUID를 구현하는 모든 디바이스를 컨테이너와 공유됩니다.
지원되는 디바이스
현재 지원되는 디바이스(및 해당 디바이스 인터페이스 클래스 GUID)는 다음과 같습니다.
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
중요하다
디바이스 지원은 드라이버에 따라 다릅니다. 위의 표에 정의되지 않은 클래스 GUID를 전달하려고 하면 정의되지 않은 동작이 발생할 수 있습니다.
Hyper-V 격리 Windows 컨테이너 지원
Hyper-V 격리 Windows 컨테이너의 워크로드에 대한 디바이스 할당 및 디바이스 공유는 현재 지원되지 않습니다.
Hyper-V 격리된 Linux 컨테이너 지원
Hyper-V 격리 Linux 컨테이너의 워크로드에 대한 디바이스 할당 및 디바이스 공유는 현재 지원되지 않습니다.